我正在尝试将一些值写入多维数组,但只添加了最后一个。这是我的代码:
$test =array();
foreach($key as $val):
$test = array('value1'=>$val->prop1,'value2' => $val->prop1);
endforeach;
我的代码中的错误在哪里?
编辑:这将在php中完成。
答案 0 :(得分:5)
你应该这样做:
$test =array();
foreach($key as $val):
$test[] = array('value1'=>$val->prop1,'value2' => $val->prop1);
endforeach;
卷曲括号表示要插入的位置,例如:
$test[2] = array('value1'=>$val->prop1,'value2' => $val->prop1);
始终插入第三个位置(第三个位置,因为它从零开始)
使用空括号时,如第一个示例所示,php在数组末尾添加新项目(追加)
答案 1 :(得分:2)
我不知道用什么语言,但我猜是
$test = array('value1'=>$val->prop1,'value2' => $val->prop1);
每次都分配一个新数组。
答案 2 :(得分:1)
使用$arr[]
将新值附加到$arr
的末尾:
$test = array();
foreach ($key as $val):
$test[] = array('value1' => $val->prop1, 'value2' => $val->prop1);
endforeach;