PHP将元素添加到多维数组的每个子数组

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP将元素添加到多维数组的每个子数组脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个看起来像那样的数组
array(
     [0] => array(
               'id' => 1,'tITle' => 'title 1',),[1] => array(
               'id' => 10,'title' => 'title 10',[2] => array(
               'id' => 11,'title' => 'title 11',[...]
);

我想为所有子数组添加一个元素.这是我正在添加相同元素.所以新数组看起来像:

array(
     [0] => array(
               'id' => 1,'tyPE'  => 'bag',[...]
);

有没有办法在不迭代第一个数组的情况下完成它?
这将是一个很大的阵容.我正在寻找最快的方法.

无论使用array_walk可能希望获得什么样的速度,都会因函数开销而丢失.由于您在注释中声明数组是db@L_406_9@的结果,因此您可以通过将SELECT’bag’AS’type’添加sql语句中,将bag值包含在结果集中.
$start = 0; $end = 0;

$orig = array(
    array('id' => 1,'title' => 'title 1'),array('id' => 10,'title' => 'title 10'),array('id' => 11,'title' => 'title 11')
);

// A
$start = microtime(true);
for ($a=0; $a<1000; $a++) {
    $els1 = $orig;
    array_walk($els1,function(&amp;$val,$key){$val['type'] = 'bag';});
}
$end = microtime(true);
echo 'A: ',$end - $start,"<br />\n";

// B
$start = microtime(true);
for ($b=0; $b<1000; $b++) {
    $els2 = $orig;
    foreach ($els2 as &$el) {
        $el['type'] = 'bag';
    }
    unset($el);
}
$end = microtime(true);
echo 'B: ',"<br />\n";

/* output:

A: 0.0076138973236084
B: 0.0047528743743896

A: 0.0075309276580811
B: 0.0045361518859863

A: 0.0075531005859375
B: 0.062379837036133

A: 0.0075340270996094
B: 0.0044951438903809

A: 0.0074868202209473
B: 0.0044751167297363

A: 0.0076088905334473
B: 0.0048189163208008

*/

脚本宝典总结

以上是脚本宝典为你收集整理的PHP将元素添加到多维数组的每个子数组全部内容,希望文章能够帮你解决PHP将元素添加到多维数组的每个子数组所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。