2017-12-11 4 views
1

で働いていないArray_push:PHPは、私がarray_pushから関数を呼び出しますが、私はエラーを取得するforeachループを持っている機能

$product_export_array is empty

$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); 
} 

答えて

3

'は関数の引数は、&で始まる(参照として渡します& $ 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); 

次に機能に追加された要素は、関数を呼び出すコードで表示されます。

+0

他のレスポンスでのあなたのコメントによってもうまくいきます。 – Alex

+0

[参照渡し - PHP Manual](http://php.net/manual/en/language.references.pass.php ) – GrumpyCrouton

関連する問題