Ira*_*ana 2 php pass-by-reference array-push
我的代码如下
$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']);
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个称为致命错误的错误:只能通过引用传递变量...
我正在使用php5
您不会那样使用array_push,这是您的基本问题。您正在尝试通过强制转换$products为数组来修复正在产生的错误,这会导致新的错误。您可以array_push这样使用:
array_push($products, ...);
Run Code Online (Sandbox Code Playgroud)
你不能指定返回值回$products,因为返回值是数组,而不是新的数组中元素的新号码。所以:
array_push($products, $sales[$i]['Product']['product']);
Run Code Online (Sandbox Code Playgroud)
要么:
$products[] = $sales[$i]['Product']['product'];
Run Code Online (Sandbox Code Playgroud)
不:
$products = array_push($products, $sales[$i]['Product']['product']);
Run Code Online (Sandbox Code Playgroud)
最肯定的不是:
$products = array_push((array)$products, $sales[$i]['Product']['product']);
Run Code Online (Sandbox Code Playgroud)
请RTM:http://php.net/array_push
| 归档时间: |
|
| 查看次数: |
5263 次 |
| 最近记录: |