array(2) {
["id"]=>
string(7) "A00001m"
["name"]=>
string(7) "Michael"
}
array(2) {
["ID"]=>
string(7) "A00001m"
["NAME"]=>
string(7) "Michael"
} 連想配列のキーの大文字・小文字を切り替える方法
スポンサーリンク
PHP で連想配列(ハッシュ)のキーの大文字・小文字を変更するには、 array_change_key_case を使用します。
通常の配列の場合(一次元配列)
キーを大文字に揃えたい場合は第二引数に CASE_UPPER を、小文字に揃えたい場合は CASE_LOWER を指定します。(第二引数を省略した場合は CASE_LOWER になります。)
サンプルコードは次の通りです。
| php(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $ary = array( "Id" => "A00001m", "Name" => "Michael" ); // 連想配列のキーを小文字にそろえる。 $ary = array_change_key_case($ary, CASE_LOWER); var_dump($ary); // 連想配列のキーを大文字にそろえる。 $ary = array_change_key_case($ary, CASE_UPPER); var_dump($ary); |
上記の実行結果は次の通りです。
多次元配列の場合
二次元配列やそれ以上の次元をもつ連想配列のキーについて大文字・小文字を一括で切り替えるサンプルコードです。
サンプルコードでは独自の関数を定義して再帰的に array_change_key_case を適用しています。(array_walk_recursive ではキーの更新ができない為、 foreach で再帰的に処理します。)
| php(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | $ary = array( array("Key1" => "Val1", "Key2" => "Val2"), array( array("Key3" => "Val3"), array( array("Key4" => "Val4", "Key5" => "Val5"), array("Key6" => "Val6"), ) ), array("Key7" => "Val7", "Key8" => "Val8"), ); // 多次元配列のキーを小文字にそろえる。 $ary = array_change_key_case_recursive($ary, CASE_LOWER); print "◆キーを小文字に揃えた結果" . PHP_EOL; var_dump($ary); // 多次元配列のキーを大文字にそろえる。 $ary = array_change_key_case_recursive($ary, CASE_UPPER); print "◆キーを大文字に揃えた結果" . PHP_EOL; var_dump($ary); // 配列を再帰的に探索し array_change_key_case を適用する関数 function array_change_key_case_recursive($ary, $case = CASE_LOWER){ if(is_array($ary)){ $ary = array_change_key_case($ary, $case); } foreach($ary as $key => $val){ if(is_array($val)){ $ary[$key] = array_change_key_case_recursive($val, $case); } } return $ary; } |
上記の実行結果は次の通りです。
◆キーを小文字に揃えた結果
array(3) {
[0]=>
array(2) {
["key1"]=>
string(4) "Val1"
["key2"]=>
string(4) "Val2"
}
[1]=>
array(2) {
[0]=>
array(1) {
["key3"]=>
string(4) "Val3"
}
[1]=>
array(2) {
[0]=>
array(2) {
["key4"]=>
string(4) "Val4"
["key5"]=>
string(4) "Val5"
}
[1]=>
array(1) {
["key6"]=>
string(4) "Val6"
}
}
}
[2]=>
array(2) {
["key7"]=>
string(4) "Val7"
["key8"]=>
string(4) "Val8"
}
}
◆キーを大文字に揃えた結果
array(3) {
[0]=>
array(2) {
["KEY1"]=>
string(4) "Val1"
["KEY2"]=>
string(4) "Val2"
}
[1]=>
array(2) {
[0]=>
array(1) {
["KEY3"]=>
string(4) "Val3"
}
[1]=>
array(2) {
[0]=>
array(2) {
["KEY4"]=>
string(4) "Val4"
["KEY5"]=>
string(4) "Val5"
}
[1]=>
array(1) {
["KEY6"]=>
string(4) "Val6"
}
}
}
[2]=>
array(2) {
["KEY7"]=>
string(4) "Val7"
["KEY8"]=>
string(4) "Val8"
}
} スポンサーリンク
- 配列
- 配列を初期化する方法
- 多次元配列内の全ての文字列を一括で置換する方法
- 配列内の全ての文字列を一括で置換する方法
- 連想配列のキーの大文字・小文字を切り替える方法
- 配列の要素数を確認する方法
- foreach で配列の全ての要素を処理する方法
- 配列を並べ替える方法(ソートする方法)
- 連想配列(ハッシュ)を使用する方法
- 連想配列から特定のキーの値を取り出して配列を作成する方法
- 連想配列(ハッシュ)に指定したキーが存在するかを確認する方法
- 連想配列(ハッシュ)のキーの一覧を取得する方法
- 二次元配列のインデックスを特定のキーの値に置き換える方法
- 二次元配列を複数のキーを指定して並べ替える方法
- 二次元配列をソートキーを指定して並び替える方法
- 配列を CSV に変換し、必要なエスケープを行う