PHP の 2 次元配列は、複数の 1 次元配列で構成される配列であり、各 1 次元配列には複数の要素が含まれます。このような配列を処理する場合、ビジネス ニーズに合わせて 2 次元配列内のキーを変更する必要がある場合があります。この記事では、PHPで2次元配列のキーを変更する方法を紹介します。
1. すべてのサブ配列の指定されたキーを変更する
場合によっては、2 次元配列内のすべてのサブ配列の指定されたキーを新しいキー名に変更する必要があります。 array_map 関数を使用してこれを実現できます。 array_map 関数は、配列の各要素にカスタム関数を適用できます。
以下はコード例です:
function changeKey($arr, $oldkey, $newkey){ if(!is_array($arr)){ return $arr; } $result = array(); foreach($arr as $key=>$val){ if(is_array($val)){ $result[$key] = changeKey($val, $oldkey, $newkey); } else { $result[$key] = $val; if($key == $oldkey){ $result[$newkey] = $val; unset($result[$oldkey]); } } } return $result; } $oldArray = array( array('id'=>1, 'name'=>'php', 'type'=>'backend'), array('id'=>2, 'name'=>'js', 'type'=>'frontend') ); $newArray = array_map(function($arr){ return changeKey($arr, 'type', 'category'); }, $oldArray); print_r($newArray);
上記のコードは、$oldArray 内のすべてのサブ配列の 'type' キーを 'category' キーに変更します。出力結果は次のとおりです。
Array ( [0] => Array ( [id] => 1 [name] => php [category] => backend ) [1] => Array ( [id] => 2 [name] => js [category] => frontend ) )
2. 指定されたサブ配列の指定されたキーを変更します。
場合によっては、ファイル内の特定のサブ配列の指定されたキーのみを変更する必要があります。 2 次元配列。サブ配列を直接変更できます。実現する配列。以下にコード例を示します。
$oldArray = array( array('id'=>1, 'name'=>'php', 'type'=>'backend'), array('id'=>2, 'name'=>'js', 'type'=>'frontend') ); foreach($oldArray as &$arr){ if($arr['id'] == 1){ $arr['type'] = 'server side'; } } print_r($oldArray);
上記のコードは、$oldArray 内の $id 1 のサブ配列の「type」キーを「サーバー側」に変更します。出力結果は以下の通り:
Array ( [0] => Array ( [id] => 1 [name] => php [type] => server side ) [1] => Array ( [id] => 2 [name] => js [type] => frontend ) )
3. 結論
PHP の二次元配列は PHP で広く使われているデータ構造の 1 つです。 PHPでは二次元配列を使って簡単にデータ加工を行うことができます。この記事では、PHP の 2 次元配列のキーを変更する 2 つの方法を例を挙げて紹介します。
以上がPHP で 2 次元配列のキーを変更する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。