本文要用一个一维数组中的值来替换二维数组中下标与一维数组下标所对应的数组中的指定的值。
如:
$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')
);
网友评论