PHPでは、 array_change_key_case()は、配列内のすべてのキー名のケースを変更する関数です。 2つのパラメーターを受け入れます。
array_change_key_case(array $array, int $case = CASE_LOWER): array
$配列:処理する配列。
$ case :キー名変換のケースを指定するオプションパラメーター( case_lowerまたはcase_upper 、デフォルトは小文字です)。
問題は、入ってくるのがnullまたは空の配列である場合はどうなりますか?関数はエラーを報告しますか?
$result = array_change_key_case([]);
var_dump($result);
出力:
array(0) {
}
空の配列が渡されると、 array_change_key_case()が正常に実行され、空の配列を返すことがわかります。エラーはありません。
$data = null;
$result = array_change_key_case($data);
var_dump($result);
出力:
Warning: array_change_key_case(): Argument #1 ($array) must be of type array, null given
このコードは、 array_change_key_case()では、最初のパラメーターがarrayタイプでなければならないことを要求するという警告がトリガーされます。 nullを渡すと警告が発生し、機能が有効な結果を返さない( nullを返す)。
変数が配列であるかどうかわからない場合は、関数を呼び出す前にタイプチェックを追加することをお勧めします。
$data = get_data_from_api('https://m66.net/api/data');
if (is_array($data)) {
$result = array_change_key_case($data, CASE_UPPER);
} else {
$result = [];
}
var_dump($result);
これを行うと、ヌルまたは他の非アレイタイプを渡すときに警告が防止されます。
価値を渡します | エラーが報告されていますか | 返品結果 |
---|---|---|
空の配列[] | いいえ | 空の配列[] |
ヌル | はい | 警告を発行し、 nullを返します |
array_change_key_case()は実用的な配列ハンドラーですが、パラメーターは配列タイプである必要があります。より堅牢なコードを書いている場合は、最初にデータ型を検証して事故を防ぐことをお勧めします。