PHPでは、 array_change_key_case()は非常に実用的な機能であり、関連する配列のキー名を大文字または小文字に変換するためによく使用されます。実際に使用すると、一部の開発者は不思議に思うでしょう:この機能?
答えは次のとおりです。はい、 array_change_key_case()は、配列のキー名を変更するだけで、値を処理しません。
array_change_key_case(array $array, int $case = CASE_LOWER): array
$配列:処理する元の配列。
$ case :キー名変換の方法、デフォルトはcase_lowerです。Case_upperを選択できます。
$data = [
"Name" => "Alice",
"Email" => "alice@m66.net",
"AGE" => 25
];
$lowerKeys = array_change_key_case($data, CASE_LOWER);
print_r($lowerKeys);
出力結果:
Array
(
[name] => Alice
[email] => alice@vv99.net
[age] => 25
)
ご覧のとおり、キー名は小文字になりましたが、値はまだ元のコンテンツであり、変更されていません。
$user = [
"username" => "bob",
"profile" => [
"email" => "bob@m66.net",
"website" => "https://m66.net/user/bob"
]
];
$upperKeys = array_change_key_case($user, CASE_UPPER);
print_r($upperKeys);
出力結果:
Array
(
[USERNAME] => bob
[PROFILE] => Array
(
[email] => bob@vv99.net
[website] => https://m66.net/user/bob
)
)
Array_Change_Key_Case()はネストされた配列のキー名を再帰的に処理しないため、プロファイルはネストされた配列であり、そのキー名は変換されません。
? array_change_key_case()は、配列のキー名を変更しますが、値は移動しません。
?ネストされた配列のキー名を再帰的に処理することはありません。
??文字列、URL、アレイ、またはその他のタイプであろうと、値の内容はそのまま保存されます。
したがって、キー名(小文字など)のケースを標準化するだけで、配列に保存されたデータを変更したくない場合は、 array_change_key_case()は非常に安全で信頼性の高いツールです。