[PHP]用一个数组的值,替换另一个数组中特定键的值

本文要用一个一维数组中的值来替换二维数组中下标与一维数组下标所对应的数组中的指定的值。

如:

$arr1 = array(23,34,45,56,67,78);

$arr2 = array(

    array('a','b','change'=>'c','d'),

    array('a','b','change'=>'c','d'),

    array('a','b','change'=>'c','d'),

    array('a','b','change'=>'c','d'),

    array('a','b','change'=>'c','d'),

    array('a','b','change'=>'c','d')

);

注:$arr1与$arr2长度须一致

数组$arr1与$arr2都是索引数组,它们的键一一对应,我们要用$arr1中的值来替换$arr2中与$arr1对应下标的数组中的某个值。

如:$arr1中的值替换$arr2中下标为change的值。

最后我们需要的效果如下:

$arr2 = array(

    array('a','b','change'=>'23','d'),

    array('a','b','change'=>'34','d'),

    array('a','b','change'=>'45','d'),

    array('a','b','change'=>'56','d'),

    array('a','b','change'=>'67','d'),

    array('a','b','change'=>'78','d')

);

我们要实现替换,需要明白我们想要替换的值与被替换的值之间的关系。

即:$arr1的长度与$arr2的长度一致。

我们只需循环将$arr1的值赋予$arr2中对应的数组中的change。

循环代码如下:

foreach ($arr1 as $k1 => $v1) {

    foreach ($arr2 as $k2 => $v2) {

        $arr2[$k1]['change'] = $v1;

    }

}

最后打印$arr2就会发现原来$arr2中下标为change的值已被替换为$arr1中相应的数组。

$arr2 = array(

    array('a','b','change'=>'23','d'),

    array('a','b','change'=>'34','d'),

    array('a','b','change'=>'45','d'),

    array('a','b','change'=>'56','d'),

    array('a','b','change'=>'67','d'),

    array('a','b','change'=>'78','d')

);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容