如何在没有循环的情况下将值附加到PHP中的所有子数组? [英] How to append value to all subarrays in PHP without a loop?
本文介绍了如何在没有循环的情况下将值附加到PHP中的所有子数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下数组:
Array (
[0] => Array (
'id' => ...
'name' ...
),
[1] => Array (
'id' => ...
'name' ...
),
[2] => Array (
'id' => ...
'name' ...
),
[3] => Array (
'id' => ...
'name' ...
),
)
我想要做的是附加相同的 pid
每个子数组的键值对。是否有一种简单的方法而不必执行 foreach
?
What I want to do is to append the same pid
key-value pair to every subarray. Is there an easy way to do this without having to do a foreach
?
推荐答案
无需显式使用 foreach
或其他某种循环,就可以使用PHP的 array_map
函数。尽管将在后台执行一个循环循环,但它将返回一个数组,其中包含您的函数处理过的每个元素。
without having to explicitly use a foreach
or some other kind of loop, you can use PHP's array_map
function. although this will perform an iterated loop under the hood, it will return an array with each element processed by your function.
<?php
$arr = Array (
0 => Array (
'id' => 1,
'name' => 'one'
),
1 => Array (
'id' => 2,
'name' => 'two'
),
2 => Array (
'id' => 3,
'name' => 'three'
),
3 => Array (
'id' => 4,
'name' => 'four'
)
);
function append_pid_kvpair($n){
$n ['pid']= 'value';
return $n;
}
$arr = array_map("append_pid_kvpair",$arr);
echo "<pre>".print_r($arr,true)."</pre>";
将产生此输出
Array
(
[0] => Array
(
[id] => 1
[name] => one
[pid] => value
)
[1] => Array
(
[id] => 2
[name] => two
[pid] => value
)
[2] => Array
(
[id] => 3
[name] => three
[pid] => value
)
[3] => Array
(
[id] => 4
[name] => four
[pid] => value
)
)
这篇关于如何在没有循环的情况下将值附加到PHP中的所有子数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文