为什么“isset($ a [0])和unset($ a [0]);”导致语法错误?

时间:2015-06-18 05:35:44

标签: php unset

我的代码:

$a = [];
isset($a[0]) and unset($a[0]);

显示 "syntax error, unexpected 'unset' (T_UNSET)"

但是

$a = [];
isset($a[0]) and exit();

有效!

exit()unset()都没有返回任何值。为什么一个工作而另一个工作呢?

2 个答案:

答案 0 :(得分:3)

unset是一种语言结构,而不是一个真正的函数(这就是为什么你得到T_UNSET而不是一个更通用的术语),所以它不像普通函数那样遵循相同的规则将。 issetexit也是语言构造,但它们的行为更像普通函数。

答案 1 :(得分:0)

正如我在评论中提到的那样,你说要删除Array中的值,

为什么不简单地写

$a = [];
if(isset($a[0])){
unset($a[0]);
// And exit() if you want to
}
相关问题