PHP中二维数组替换问题
A数组:
$dbData = array(
array(0, '张三', '吃饭'),
array(1, '李四', '吃饭'),
array(2, '麻子', '吃饭'),
array(3, '麻子', '喝水')
);
B数组
$excelData = array(
array(0,'zhangsan', '张三'),
array(1,'lisi', '李四'),
array(2,'mazi ', '麻子')
);
想用数组B去替换掉数组A中的元素,张三用zhangsan代替,李四用lisi代替,麻子用mazi代替
得出这样的结果:
c数组:
$dbData = array(
array(0, 'zhangsan', '吃饭'),
array(1, 'lisi', '吃饭'),
array(2, 'mazi', '吃饭'),
array(3, 'mazi', '喝水')
);
------解决方案--------------------
- PHP code
$dbData = array( array(0, '张三', '吃饭'), array(1, '李四', '吃饭'), array(2, '麻子', '吃饭'), array(3, '麻子', '喝水') ); $excelData = array( array(0,'zhangsan', '张三'), array(1,'lisi', '李四'), array(2,'mazi ', '麻子') ); //改造 $excelData 因为是替换标的,所以相关键值对必是唯一的 foreach($excelData as $v) $dict[$v[2]] = $v; //开始替换 foreach($dbData as &$v) $v[1] = $dict[$v[1]][1]; //检查结果 print_r($dbData);