PHP 数组:如何将 'key & value' 添加到现有数组
PHP Arrays: How to add 'key & value' to an existing array
我不知道如何向现有数组添加键和值。我的阵列是这样的。最初我尝试使用 array_push()
添加,但它没有按我的需要添加。
我在给出 'var_dump' 之后给出了我的输出。
array (size=6)
0 =>
array (size=3)
'id' => int 7
'title' => string 'Pongal' (length=6)
'start' => string '2016-05-16' (length=10)
1 =>
array (size=3)
'id' => int 8
'title' => string 'big day' (length=7)
'start' => string '2016-05-04' (length=10)
2 =>
array (size=3)
'id' => int 9
'title' => string 'marriage day' (length=12)
'start' => string '2016-05-19' (length=10)
3 =>
array (size=3)
'id' => int 10
'title' => string 'Karthiks bday' (length=14)
'start' => string '2016-06-11' (length=10)
4 =>
array (size=3)
'id' => int 12
'title' => string 'Election date announced' (length=23)
'start' => string '2016-06-01' (length=10)
现在,我想在每个数组的所有元素之后插入数组('sample_key' => 'sample_value')。
我该怎么做?这是我想要的结果是这样的:-
array (size=6)
0 =>
array (size=3)
'id' => int 7
'title' => string 'Pongal' (length=6)
'start' => string '2016-05-16' (length=10)
‘color’ => ‘red’
1 =>
array (size=3)
'id' => int 8
'title' => string 'big day' (length=7)
'start' => string '2016-05-04' (length=10)
‘color’ => ‘red’
2 =>
array (size=3)
'id' => int 9
'title' => string 'marriage day' (length=12)
'start' => string '2016-05-19' (length=10)
‘color’ => ‘red’
3 =>
array (size=3)
'id' => int 10
'title' => string 'Karthiks bday' (length=14)
'start' => string '2016-06-11' (length=10)
‘color’ => ‘red’
4 =>
array (size=3)
'id' => int 12
'title' => string 'Election date announced' (length=23)
'start' => string '2016-06-01' (length=10)
‘color’ => ‘red’
请注意,我已将 'color' => 'red' 添加到所有索引
只需这样做:Working demo
使用 &
可以更改主数组,只需使用 $val['color'] = 'red'
在数组中添加一个新的键值对。
foreach($arr as $key => &$val){
$val['color'] = 'red';
}
请注意,即使在循环结束后,和号的 'write-back' 特性仍然存在:将 $val
重置为新值将更改 $val
中的最后一个元素,这通常是意外。解决此 class 错误的三种方法:
- 避免回写,只使用完整的数组表达式在循环内写入值;
- 不要在同一范围内重复使用
$val
变量,即使是另一个 foreach()
循环;
- 在
$val
变量上使用 unset()
断开它与它将写回的数组的连接。
foreach($arr as $key => $row){
$arr[$key]['color']="red";
}
我不知道如何向现有数组添加键和值。我的阵列是这样的。最初我尝试使用 array_push()
添加,但它没有按我的需要添加。
我在给出 'var_dump' 之后给出了我的输出。
array (size=6)
0 =>
array (size=3)
'id' => int 7
'title' => string 'Pongal' (length=6)
'start' => string '2016-05-16' (length=10)
1 =>
array (size=3)
'id' => int 8
'title' => string 'big day' (length=7)
'start' => string '2016-05-04' (length=10)
2 =>
array (size=3)
'id' => int 9
'title' => string 'marriage day' (length=12)
'start' => string '2016-05-19' (length=10)
3 =>
array (size=3)
'id' => int 10
'title' => string 'Karthiks bday' (length=14)
'start' => string '2016-06-11' (length=10)
4 =>
array (size=3)
'id' => int 12
'title' => string 'Election date announced' (length=23)
'start' => string '2016-06-01' (length=10)
现在,我想在每个数组的所有元素之后插入数组('sample_key' => 'sample_value')。
我该怎么做?这是我想要的结果是这样的:-
array (size=6)
0 =>
array (size=3)
'id' => int 7
'title' => string 'Pongal' (length=6)
'start' => string '2016-05-16' (length=10)
‘color’ => ‘red’
1 =>
array (size=3)
'id' => int 8
'title' => string 'big day' (length=7)
'start' => string '2016-05-04' (length=10)
‘color’ => ‘red’
2 =>
array (size=3)
'id' => int 9
'title' => string 'marriage day' (length=12)
'start' => string '2016-05-19' (length=10)
‘color’ => ‘red’
3 =>
array (size=3)
'id' => int 10
'title' => string 'Karthiks bday' (length=14)
'start' => string '2016-06-11' (length=10)
‘color’ => ‘red’
4 =>
array (size=3)
'id' => int 12
'title' => string 'Election date announced' (length=23)
'start' => string '2016-06-01' (length=10)
‘color’ => ‘red’
请注意,我已将 'color' => 'red' 添加到所有索引
只需这样做:Working demo
使用 &
可以更改主数组,只需使用 $val['color'] = 'red'
在数组中添加一个新的键值对。
foreach($arr as $key => &$val){
$val['color'] = 'red';
}
请注意,即使在循环结束后,和号的 'write-back' 特性仍然存在:将 $val
重置为新值将更改 $val
中的最后一个元素,这通常是意外。解决此 class 错误的三种方法:
- 避免回写,只使用完整的数组表达式在循环内写入值;
- 不要在同一范围内重复使用
$val
变量,即使是另一个foreach()
循环; - 在
$val
变量上使用unset()
断开它与它将写回的数组的连接。
foreach($arr as $key => $row){
$arr[$key]['color']="red";
}