【发布时间】:2013-05-05 16:41:38
【问题描述】:
我有一个非常基本的问题,但我被卡住了。我对 php 很陌生,我有一个这样的数组:
$array = array(
'one' => 1,
'two' => array('key1' => 'val1','key2' => 'val2'),
'three' => array('key1' => 'val1','key2' => 'val2'),
'four' => array('key1' => 'val1','key2' => 'val2')
);
对于数组中的每个数组(即“二”、“三”和“四”),我想将“key3”=>“val3”插入到这些数组中。
我试过了:
foreach($array as $item) {
if (gettype($item) == "array") {
$item['key3'] = 'val3';
}
}
但它不起作用,我不知道为什么。在各处使用各种 print_r,如果我在循环中将其打印出来,它似乎会将 'key3' => 'val3' 插入到 $item 中,但原始数组似乎没有改变。我也尝试了一个常规的 for 循环,但也没有用。
【问题讨论】:
-
每个子数组的键和值是否相等?
-
很好奇你为什么不干
foreach ($array as $item_key => $item) { $array[$item_key]['key3'] = 'val3'; }
标签: php arrays loops foreach associative-array