phpでは、配列内のキー値を大文字に変更する必要がある場合があります。この要件は、たとえば、データベース テーブルを読み取るときに、取得されたフィールド名が小文字であるが、それらを表すために大文字を使用したい場合に発生する可能性があります。
それでは、配列内のキー値を大文字に変更するにはどうすればよいでしょうか?以下に 2 つの方法を紹介します。
方法 1: array_change_key_case 関数を使用する
php には、配列のすべてのキー名を大文字または小文字に変換できる array_change_key_case 関数が用意されています。この関数を使用すると、配列内のキー値を大文字に変更できますサンプルコードは次のとおりです:
// 原始数组 $originalArray = array("name"=>"Tom", "age"=>20, "gender"=>"male"); // 使用array_change_key_case函数将键名全部转为大写 $newArray = array_change_key_case($originalArray, CASE_UPPER); // 输出新的数组 print_r($newArray);
出力結果は次のとおりです:
Array ( [NAME] => Tom [AGE] => 20 [GENDER] => male )
ご覧のとおり、元の配列内のすべてのキー値が大文字に変換されています。
array_change_key_case 関数は元の配列を変更せず、新しい配列を返すことに注意してください。したがって、実際の使用では、実際の状況に応じて変更する必要があります。
方法 2: array_map 関数を使用する
array_change_key_case 関数に加えて、array_map 関数を使用して、配列内のキー値を大文字に変更する効果を実現することもできます。 array_map 関数は、配列の各要素に関数を適用できます。サンプル コードは次のとおりです。
// 原始数组 $originalArray = array("name"=>"Tom", "age"=>20, "gender"=>"male"); // 定义一个函数,将字符串转为大写 function strToUpperCase($str) { return strtoupper($str); } // 使用array_map函数将原始数组的键名全部转为大写 $newArray = array_combine(array_map("strToUpperCase", array_keys($originalArray)), $originalArray); // 输出新的数组 print_r($newArray);
出力結果は次のとおりです。
Array ( [NAME] => Tom [AGE] => 20 [GENDER] => male )
ご覧のとおり、すべてのキーが元の配列の値は大文字に変換されています。
array_map 関数は元の配列を変更せず、新しい配列を返すことに注意してください。同時に、新しい配列のキー名が元の配列のキー名に対応していることを確認するために、array_combine 関数を使用して新しいキー名と元の配列の値を結合します。
概要:
array_change_key_case 関数を使用しても、array_map 関数を使用しても、配列内のキー値を大文字に変更する効果を実現できます。実際の開発ニーズに合わせて、特定の方法を適切に選択する必要があります。
以上がPHPは配列内のキー値を大文字に変更しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。