Heim  >  Artikel  >  Backend-Entwicklung  >  PHP中二维数组替换有关问题

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

WBOY
WBOYOriginal
2016-06-13 13:15:17911Durchsuche

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn