我有一个foreach循环,它从array_push调用一个函数,但是我收到一个错误:
$ product_export_array为空
$product_export_array = array();
$_ProductIds = array('0','1', '2', '3');
function addProduct ($product_data, $sku_for_product) {
array_push($product_export_array, array('sku' => $sku_for_product,);
}
foreach ($_ProductIds as $key=>$_product) {
$simple_sku = 'abc' . $product;
addProduct($_product, $simple_sku);
}
答案 0 :(得分:4)
传递它作为参考(函数参数以&,'& $ xxx'开头):
$product_export_array = array();
$_ProductIds = array('0','1', '2', '3');
foreach ($_ProductIds as $key=>$product) {
$simple_sku = 'abc';
addProduct($product, $simple_sku, $product_export_array);
}
function addProduct ($product_data, $sku_for_product, &$export) {
array_push($export, array('sku' => $sku_for_product));
}
var_dump($product_export_array);
然后在函数中添加的元素将在您调用函数的代码中可见。