php Array_push无法在函数中运行

时间:2017-12-11 15:19:03

标签: php

我有一个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);
}

1 个答案:

答案 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);

然后在函数中添加的元素将在您调用函数的代码中可见。