我使用简单的php unset()函数来删除和索引数组,但它显示错误
Parse error: syntax error, unexpected 'unset' (T_UNSET)
Run Code Online (Sandbox Code Playgroud)
错误.这是syntex
echo $totalArray = unset($linkExtHelp[0]);
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Kri*_*h R 21
试试这个,unset($linkExtHelp[0])分配给变量的原因echo $totalArray =
你不能将unset()值赋给变量,你可以在unset之前和unset之后检查,如下所示.换句话说, unset没有任何返回值,因为它unset是一个空白.Void - 不向其调用者提供结果值.
语法: void unset(mixed $ var [,mixed $ ...])
echo "Before unset:",$linkExtHelp[0];
unset($linkExtHelp[0]);
echo "After unset:",$linkExtHelp[0];
Run Code Online (Sandbox Code Playgroud)
代替
echo $totalArray = unset($linkExtHelp[0]);
Run Code Online (Sandbox Code Playgroud)
unset不会返回一个值 - 它不能被有意义地用作表达式,即使这样的产品被接受了.
但是,导致解析错误的原因unset是关键字和"特殊生产":即使unset看起来像一个函数,它也不是函数1.因此,每个语言语法unset仅作为语句2有效.
可以在zend_language_parser.y中找到该产品:
309 unticked_statement:
| ..
338 | T_UNSET '(' unset_variables ')' ';'
Run Code Online (Sandbox Code Playgroud)
1语法是由于历史设计的选择,可以说从一致性的角度来看是错误的:
注意:因为[unset]是一种语言结构而不是一个函数,所以不能使用变量函数调用它.
2还有"(未设置)铸造",但我忽略了这一点.