Hom*_*ith 4 php arrays associative-array
如果我有这样的数组:
array(2) {
[0]=>
array(2) {
["id"]=>
string(2) "34"
["total"]=>
string(6) "122337"
},
[1]=>
array(2) {
["id"]=>
string(2) "43"
["total"]=>
string(6) "232337"
}
}
Run Code Online (Sandbox Code Playgroud)
我想为每个子数组添加一个新的键值,例如,它会像这样结束:
array(2) {
[0]=>
array(2) {
["id"]=>
string(2) "34"
["total"]=>
string(6) "122337"
["newkey"]=>
string(6) "hihihi"
},
[1]=>
array(2) {
["id"]=>
string(2) "43"
["total"]=>
string(6) "232337"
["newkey"]=>
string(6) "hihihi"
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我试过像这样的foreach:
foreach($exterior_array as $inside_array) {
$inside_array['newkey'] = "hihihi";
}
Run Code Online (Sandbox Code Playgroud)
但是一旦进入foreach,值就不会被保存.
foreach($exterior_array as $inside_array) {
$inside_array['newkey'] = "hihihi";
}
Run Code Online (Sandbox Code Playgroud)
但是一旦进入foreach,值就不会被保存.
那是因为你正在处理数组的副本$inside_array.您可以通过创建原始值$inside_array的别名来访问要更改的"orignal" 值; 使用参考:
foreach($exterior_array as &$inside_array) {
^- set the reference
$inside_array['newkey'] = "hihihi";
}
unset($inside_array);
^^^^^^^^^^^^^^^^^^^^^- remove the reference
Run Code Online (Sandbox Code Playgroud)