虽然我使用了 isset,但我得到了一个未定义的索引错误
Although I use isset, I get an undefined index error
我知道它要求的时间太多了。但是 isset
函数并没有解决我的问题。
$get = (isset($this->settings[$set['id']])) ? $this->settings[$set['id']] : '';
Notice: Undefined index: id in \public_html\settings.php on line 419
在将变量用作参数之前尝试检查变量是否已设置。
$get = isset( $set['id']) ? $this->settings[$set['id']] : '';
也许,$set['id']
必须检查一下,像这样:
$set_ = isset($set['id']) ? $set['id'] : '';
$value = isset($this->settings[$set_]) ? $this->settings[$set['id']] : '';
我只是将它添加到 isset 调用中
$get = isset( $set['id'],$this->settings[$set['id']]) ? $this->settings[$set['id']] : '';
您可以在 isset 中使用多个参数。这大致相当于这样做:
$get = isset($set['id']) && isset($this->settings[$set['id']]) ? $this->settings[$set['id']] : '';
这可以使用以下代码轻松测试:
$array = ['foo' => 'bar'];
$set = []; //not set
#$set = ['id' => 'foo']; //uncomment to test if set
#using [] to add an element to a string not an array
$get = isset($set['id'],$array[$set['id']]) ? $array[$set['id']] : '';
echo $get;
当 $set = ['id' => 'foo']
时,输出为 bar
如果您留下注释,则输出为空字符串。
我知道它要求的时间太多了。但是 isset
函数并没有解决我的问题。
$get = (isset($this->settings[$set['id']])) ? $this->settings[$set['id']] : '';
Notice: Undefined index: id in \public_html\settings.php on line 419
在将变量用作参数之前尝试检查变量是否已设置。
$get = isset( $set['id']) ? $this->settings[$set['id']] : '';
也许,$set['id']
必须检查一下,像这样:
$set_ = isset($set['id']) ? $set['id'] : '';
$value = isset($this->settings[$set_]) ? $this->settings[$set['id']] : '';
我只是将它添加到 isset 调用中
$get = isset( $set['id'],$this->settings[$set['id']]) ? $this->settings[$set['id']] : '';
您可以在 isset 中使用多个参数。这大致相当于这样做:
$get = isset($set['id']) && isset($this->settings[$set['id']]) ? $this->settings[$set['id']] : '';
这可以使用以下代码轻松测试:
$array = ['foo' => 'bar'];
$set = []; //not set
#$set = ['id' => 'foo']; //uncomment to test if set
#using [] to add an element to a string not an array
$get = isset($set['id'],$array[$set['id']]) ? $array[$set['id']] : '';
echo $get;
当 $set = ['id' => 'foo']
时,输出为 bar
如果您留下注释,则输出为空字符串。