php check isset from array

时间:2017-08-07 14:20:22

标签: php variables foreach isset

我试图检查变量是否存在,如果不存在 - 那么定义它。

$checkarray = array($demo1, $demo2, $demo3);

foreach ($checkarray as $checkkey) {
  if (!isset($checkkey)) {
    $checkkey = 'none';
  }
}

但我只是得到了这个错误:*注意:未定义的变量:demo1 (依此类推......)

这基本上是我试图实现的目标......

if (!isset($demo1)) {
  $demo1 = 'none';
 }

if (!isset($demo2)) {
  $demo2 = 'none';
 }

if (!isset($demo3)) {
 $demo3 = 'none';
}

但它并不漂亮。

有什么想法吗?

干杯 克里斯

1 个答案:

答案 0 :(得分:1)

您必须在检查数组中使用var名称而不是var本身。这称为Variable variable

然后你可以这样做:

$checkarray = array('demo1', 'demo2', 'demo3');

foreach ($checkarray as $checkkey) {
  if (!isset($$checkkey)) {
    $$checkkey = 'none';
  }
}