PHP 函數在傳回數組類型的資料時可能會遇到以下情況:明確聲明傳回數組類型,則直接傳回數組;傳回 null 值會引發錯誤;呼叫接收數組的函數可傳回另一個數組。
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中文網其他相關文章!