php 从数组中检查 isset

php check isset from array

我正在尝试检查变量是否存在,如果不存在,则定义它。

$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';
}

不过不好看

有什么想法吗?

干杯 克里斯

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

然后你可以这样做:

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

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