php将值插入到使用foreach的数组中

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php将值插入到使用foreach的数组中脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个很基本的问题,但我被困住了.我对 PHP很新,我有一个像这样的数组:
$array = array(
    'one' => 1,'two' => array('key1' => 'val1','key2' => 'val2'),'three' => array('key1' => 'val1','four' => array('key1' => 'val1','key2' => 'val2')
);

并且对于数组中的每个数组(即’二,’三’和’四’),我想插入’key3’=> ‘val3’转换成这些数组.

我试过这个:

foreach($array as $ITem) {
    if (gettyPE($item) == "array") {
        $item['key3'] = 'val3';
    }
}

但它不行,我不知道为什么.在各地使用各种PRint_r,似乎插入’key3’=> ‘val3’成$item,如果我在循环中打印出来,但是原来的数组似乎没有改变.我也试过一个常规的循环,但也没有工作.

foreach与$item的副本一起工作,所以您不能修改foreach中的原始数组.解决这个问题的一个方法是使用&操作符.
foreach($array as &$item) {
    if (is_array($item)) {
        $item['key3'] = 'val3';
    }
}

一个更优雅的方式是使用array_walk()

array_walk($array,function (&$v,$k) { 
    if (is_array($v)) {
        $v['key3'] = 'val3';
    }
});

这个例子将从PHP 5.3开始,其中介绍了Closures.

脚本宝典总结

以上是脚本宝典为你收集整理的php将值插入到使用foreach的数组中全部内容,希望文章能够帮你解决php将值插入到使用foreach的数组中所遇到的问题。

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

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