PHP 関数は、配列型のデータを返すときに次の状況に遭遇する可能性があります。戻り値の配列型が明示的に宣言されている場合は、配列が直接返されます。配列を受け取る関数を呼び出すとエラーが発生する可能性があります。別の配列。
PHP 関数は配列型データを返します
PHP では、関数が配列型データを返すとき、通常は次のような問題が発生します。状況:
1. 明示的な配列型のヒント
関数シグネチャで返されるデータ型が配列であると明示的に宣言されている場合、関数は配列を返します。例:
function get_data(): array { return ['name' => 'John', 'age' => 30]; }
2. null を返す
一部の関数は、必要なデータが見つからない場合などに、null 値を返すことがあります。ただし、関数が配列型を返すように宣言されている場合、null を返すとエラーが発生します。
3. 配列を受け取る関数を呼び出します
PHP にはいくつかの関数 (array_filter()
や array_map( など) も用意されています。 )
)、引数として配列を受け取り、別の配列を返します。次の例は、array_filter()
関数の使用方法を示しています。
function filter_numbers(array $arr) { return array_filter($arr, function($item) { return is_numeric($item); }); } $numbers = [1, 2, 'a', 4, 'b']; $result = filter_numbers($numbers); // $result 现在是一个仅包含数字的数组
実際のケース: ファイル リストを取得する
取得するメソッドを検討します。指定されたディレクトリ内のファイルのリスト 関数:
function get_files(string $dir): array { if (!is_dir($dir)) { throw new InvalidArgumentException("$dir is not a valid directory."); } $files = scandir($dir); if ($files === false) { throw new RuntimeException("Failed to scan directory."); } foreach ($files as $key => $file) { if ($file == '.' || $file == '..') { unset($files[$key]); } } return array_values($files); }
この関数は、ディレクトリ内のファイル名を含む配列を返します。無効なディレクトリ、失敗したディレクトリ スキャン、および現在のディレクトリと親ディレクトリの逆参照を処理します。
以上がPHP 関数が配列型データを返すのはどのような状況ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。