PHP错误:无法在写上下文中使用函数返回值

时间:2012-01-27 17:34:46

标签: arrays php

似乎看不出这个问题是什么, 应该很简单,但我似乎没有机智。

    if(empty(search($class,'id',$p_cid))){
     unset($categories[$elementKey]);
 }

搜索功能返回一个数组。

5 个答案:

答案 0 :(得分:4)

来自PHP manual

  

注意:

     

empty()仅检查变量,因为其他任何内容都会导致解析错误。换句话说,以下操作无效:为空(修剪($ name))

试试这个:

$tmpVar = search($class, 'id', $p_cid);
if(empty($tmpVar)) {
  unset($categories[$elementKey]);
}

答案 1 :(得分:3)

应该是这样的:

$arr = search($class, 'id', $p_cid);
if (empty($arr)) {
    unset($categories[$elementKey]);
}

答案 2 :(得分:1)

来自手册:http://php.net/manual/en/function.empty.php

  

empty()仅检查变量,因为其他任何内容都会导致解析   错误。换句话说,以下内容不起作用:   空(修整($名))。

答案 3 :(得分:0)

据我所知,空函数仅适用于变量,而不适用于返回值。所以,试试这个:

$s = search($class,'id',$p_cid);
if(empty($s)){
  unset($categories[$elementKey]);
}

答案 4 :(得分:-2)

搜索不是PHP中的函数。 Array_search是。