現在の位置: ホーム> 最新記事一覧> array_change_key_case()strtolower()とstrtoupper()を組み合わせてカスタム形式でキーを処理します

array_change_key_case()strtolower()とstrtoupper()を組み合わせてカスタム形式でキーを処理します

M66 2025-04-25

PHPでは、アレイがケースに敏感であるため、配列キーの場合は非常に重要です。すべてのキー名を小文字や大文字に変換するなど、配列内のすべてのキーの形式を統合できるようにすることがあります。 array_change_key_case()は、PHPによって提供される有用な関数であり、配列キーのケースを変更できます。

ただし、キーネームの一部を小文字に変換し、他の部分を大文字に変換するなど、より細かい粒状コントロールが必要な場合もあります。これを達成するために、 array_change_key_case()を使用してstrtolower()およびstrtoupper()と併せて、キー名の変換ルールをカスタマイズできます。

array_change_key_case()を使用して、キー名のケースを変換します

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
)

この例では、すべてのキー名が大文字に変換されます。

より微調整されたカスタム変換: strtolower()strtoupper()を結合します

すべてのキー名を小文字や大文字に変換するだけでなく、一部の部品を小文字に変換し、他の部品をニーズに応じて大文字に変換したい場合があります。たとえば、「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関数を組み合わせることにより、キー名形式のカスタム変換を実装する方法をよりよく理解するのに役立ちます。