首頁 >後端開發 >php教程 >PHP 函數傳回數組類型的資料有哪些情況?

PHP 函數傳回數組類型的資料有哪些情況?

WBOY
WBOY原創
2024-04-20 14:42:01755瀏覽

PHP 函數在傳回數組類型的資料時可能會遇到以下情況:明確聲明傳回數組類型,則直接傳回數組;傳回 null 值會引發錯誤;呼叫接收數組的函數可傳回另一個數組。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn