ホームページ  >  記事  >  バックエンド開発  >  PHP における 2 次元配列の置換に関する問題

PHP における 2 次元配列の置換に関する問題

WBOY
WBOYオリジナル
2016-06-13 13:15:17913ブラウズ

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')
);

------解決策--------------------

PHP コード
$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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。