function abc($cnstr,&$cnode,$addno = 0)
{
$var = defined( 'WAP_MODE' ) ? 'wtpls' : 'tpls';
if (!empty($cnode[$var]))
{
$$var = explode(',',$cnode[$var]);
}
if (empty($$var = explode(',',$cnode[$var])[$addno])) //这里报错,错误如下
{
return '';
}
return $$var[$addno];
}
上面那一行 报错
Parse error: syntax error, unexpected '=', expecting ')' in 出现这个错误 什么原因
function abc($cnstr,&$cnode,$addno = 0)
{
$var = defined( 'WAP_MODE' ) ? 'wtpls' : 'tpls';
if (!empty($cnode[$var]))
{
$$var = explode(',',$cnode[$var]);
}
// 解密函数的错误吧,程序逻辑明显应该是,如果empty($$var[$addno])空的话,返回空
$$var = explode(',',$cnode[$var]);
if (empty($$var[$addno])) //这里报错,错误如下
{
return '';
}
return $$var[$addno];
}
if (empty($$var = explode(',',$cnode[$var])[$addno])) //这里报错,错误如下
这句等于
先分解数组给$$var = explode(',',$cnode[$var]);
if(empth($$var)[$addno])这个结构在逻辑上就是错误的!
if (empty($$var = explode(',',$cnode[$var])[$addno])) //这里报错,错误如下
Parse error: syntax error, unexpected '=', expecting ')' in 出现这个错误 什么原因
解析错误:语法错误,意想不到的'=',需要')'
括号位置有问题,至少需要
if (empty($$var = explode(',',$cnode[$var][$addno])))2、对于函数 empty 手册中说
注意: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。
观察如下事实:
$a = 0;
if(empty($a)) echo 'y';
输出 y
而
if(empty($a=0)) echo 'y';
出错:Parse error: syntax error, unexpected '=', expecting ')'