我的代码:
$a = [];
isset($a[0]) and unset($a[0]);
显示 "syntax error, unexpected 'unset' (T_UNSET)"
但是
$a = [];
isset($a[0]) and exit();
有效!
exit()
和unset()
都没有返回任何值。为什么一个工作而另一个工作呢?
答案 0 :(得分:3)
unset
是一种语言结构,而不是一个真正的函数(这就是为什么你得到T_UNSET
而不是一个更通用的术语),所以它不像普通函数那样遵循相同的规则将。 isset
和exit
也是语言构造,但它们的行为更像普通函数。
答案 1 :(得分:0)
正如我在评论中提到的那样,你说要删除Array中的值,
为什么不简单地写
$a = [];
if(isset($a[0])){
unset($a[0]);
// And exit() if you want to
}