>  기사  >  백엔드 개발  >  PHP中二维数组替换有关问题

PHP中二维数组替换有关问题

WBOY
WBOY원래의
2016-06-13 13:15:17913검색

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); <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.