我在将项附加到数组时遇到问题。首先我初始化空数组,然后我想把elemnts放在里面。
但是,最后的结果是空数组。
$aditivs = array();
function handle_Aditiv($ArrVal){
$id_aditiv = $ArrVal['id'];
$code = $ArrVal['code'];
$arrLocal = array();
$arrLocal[] = $id_aditiv;
$arrLocal[] = $code;
$aditivs [] = $arrLocal;
//var_dump($aditivs);
echo "Adt : $id_aditiv,$code 'r'n";
}
var_dump($aditivs); //this print out empty array
指示日期:
$aditivs [] = $arrLocal;
我也用这个,但结果是相同的
array_push($aditivs, $arrLocal);
那么,我做错了什么?
test.php:
<?php
$aditivs = array();
function handle_Aditiv($ArrVal){
Global $aditivs;
$aditivs[] = array($ArrVal['id'], $ArrVal['code']);
return(0);
}
$arr = array('id'=>1, 'code'=>"code");
handle_Aditiv($arr);
var_dump($aditivs);
?>
运行:
>php test.php
输出:
array(1) {
[0] =>
array(2) {
[0] =>
int(1)
[1] =>
string(4) "code"
}
}
但是:
从技术上讲,最好的方法是使用参考:
<?php
$aditivs = array();
function handle_Aditiv(&$accumulator, $input){
$accumulator[] = array($input['id'], $input['code']);
}
$arr = array('id'=>1, 'code'=>"code");
handle_Aditiv($aditivs, $arr);
var_dump($aditivs);
?>
对于您的案例来说,没有什么不同,但在长而复杂的代码中,它使想法更加清晰。