PHPでは、アレイがケースに敏感であるため、配列キーの場合は非常に重要です。すべてのキー名を小文字や大文字に変換するなど、配列内のすべてのキーの形式を統合できるようにすることがあります。 array_change_key_case()は、PHPによって提供される有用な関数であり、配列キーのケースを変更できます。
ただし、キーネームの一部を小文字に変換し、他の部分を大文字に変換するなど、より細かい粒状コントロールが必要な場合もあります。これを達成するために、 array_change_key_case()を使用してstrtolower()およびstrtoupper()と併せて、キー名の変換ルールをカスタマイズできます。
array_change_key_case()を使用して、配列キーのケースを均一な小文字または大文字に変換できます。 2つのパラメーターを受け入れます。
最初のパラメーターは、変換される配列です。
2番目のパラメーターは変換する方法です。Case_upperはすべてのキーを大文字に変換し、 Case_lowerはすべてのキーを小文字に変換します。
<?php
$array = [
"FirstName" => "John",
"LastName" => "Doe",
"Email" => "john.doe@m66.net"
];
$lowercaseArray = array_change_key_case($array, CASE_LOWER);
print_r($lowercaseArray);
?>
出力結果:
Array
(
[firstname] => John
[lastname] => Doe
[email] => john.doe@m66.net
)
上記のように、すべてのキー名は小文字に変換されます。
<?php
$array = [
"firstName" => "John",
"lastName" => "Doe",
"email" => "john.doe@m66.net"
];
$uppercaseArray = array_change_key_case($array, CASE_UPPER);
print_r($uppercaseArray);
?>
出力結果:
Array
(
[FIRSTNAME] => John
[LASTNAME] => Doe
[EMAIL] => john.doe@m66.net
)
この例では、すべてのキー名が大文字に変換されます。
すべてのキー名を小文字や大文字に変換するだけでなく、一部の部品を小文字に変換し、他の部品をニーズに応じて大文字に変換したい場合があります。たとえば、「firstName」を「first_name」に変換し、「lastName」を「last_name」に変換する場合があります。
この時点で、 strtolower()またはstrtoupper()を使用して、 array_change_key_case()の後に各キー名をさらに調整できます。
他の文字を小文字に変換しながら、キー名の各単語の最初の文字を大文字に変換し、アンダースコアに接続したいとします。これを達成できます:
<?php
$array = [
"FirstName" => "John",
"LastName" => "Doe",
"Email" => "john.doe@m66.net"
];
function customKeyFormat($key) {
// 各単語の最初の文字を大文字にします,他の文字小文字,アンダースコアに接続します
return strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $key));
}
$newArray = [];
foreach ($array as $key => $value) {
$newArray[customKeyFormat($key)] = $value;
}
print_r($newArray);
?>
出力結果:
Array
(
[first_name] => John
[last_name] => Doe
[email] => john.doe@m66.net
)
この例では、 preg_replace()関数を使用してラクダの命名法を小文字に変換し、アンダースコアで分離しました。 strtolower()を介して、すべての文字が小文字であることがさらに保証されます。
array_change_key_case() 、 strtolower() 、およびstrtoupper()を組み合わせることにより、phpアレイのキー名のフォーマット変換を柔軟に処理できます。すべてのキー名を均一な小文字または大文字に変換するか、より複雑なカスタム形式を実装しているかどうかにかかわらず、PHPはこのタスクを達成するのに十分なツールを提供します。これは、配列データを処理するときに、キー名をより便利かつ均一に操作するのに役立ちます。
うまくいけば、この記事が、これらのPHP関数を組み合わせることにより、キー名形式のカスタム変換を実装する方法をよりよく理解するのに役立ちます。