PHP の 2 次元配列置換問題
A array:
$dbData = array(
array(0, 'Zhang San', 'eating'),
array(1, '李思' , '食べる'),
array(2, 'Mazi', 'Eat'),
array(3, 'Mazi', '水を飲む')
);
B array
$excelData = array(
array(0,'zhangsan', 'Zhang San'),
array(1,'lisi', '李思'),
array(2,'mazi ' , 'Mazi')
);
配列 A の要素を配列 B に置き換えたいとします。Zhang San は代わりに zhangsan を使用し、Li Si は代わりに lisi を使用し、Mazi は
の代わりに mazi を使用してこの結果を取得します。 :
c array:
$dbData = array(
array(0, 'zhangsan', 'eating'),
array(1, 'lisi', 'eating'),
array(2, 'mazi', 'Eat'),
array(3, 'mazi', 'Drink Water')
);
------解決策--------------------
$dbData = 配列( array(0, '張三', '食べる'), array(1, '李思', '食べる'), array(2, 'Mazi', 'Eat'), array(3, 'マジ', '水を飲む') ); $excelData = 配列( array(0,'張三', '張三'), array(1,'lisi', '李思'), array(2,'mazi ', 'mazi') ); //Transform $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>