我的代码如下,
$products = array();
for($i=0; $i < sizeof($sales); $i++){
if(!in_array($sales[$i]['Product']['product'], (array)$products)){
$products = array_push((array)$products, $sales[$i]['Product']['product']);
}
}
我收到一个叫做 fatal error 的错误:只有变量可以通过引用传递...
我正在使用 php5
最佳答案
你不使用 array_push
像那样,这是你的基本问题。您正试图通过类型转换 $products
来修复您产生的错误到一个数组,这会导致一个新的错误。您使用 array_push
像这样:
array_push($products, ...);
你做不是 将返回值分配回
$products
,因为返回值是数组中的新元素数,而不是新数组。所以要么:array_push($products, $sales[$i]['Product']['product']);
或者:
$products[] = $sales[$i]['Product']['product'];
不是:
$products = array_push($products, $sales[$i]['Product']['product']);
当然不是:
$products = array_push((array)$products, $sales[$i]['Product']['product']);
请RTM:http://php.net/array_push
关于PHP array_push 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764749/