使用 Get 查詢值或返回預設值

你經常會發現自己處於需要找到變數對應值的情況,並且集合可以讓你滿意。

在下面的示例中,我們在一個陣列中有三個不同的語言環境,並分配了相應的呼叫程式碼。我們希望能夠提供語言環境,並獲得相關的呼叫程式碼。如果未找到第一個引數,則 get 中的第二個引數是預設引數。

function lookupCallingCode($locale)
{
    return collect([
        'de_DE' => 49,
        'en_GB' => 44,
        'en_US' => 1,
    ])->get($locale, 44);
}

在上面的例子中,我們可以做到以下幾點

lookupCallingCode('de_DE'); // Will return 49
lookupCallingCode('sv_SE'); // Will return 44

你甚至可以將回撥作為預設值傳遞。如果指定的鍵不存在,將返回回撥的結果:

    return collect([
        'de_DE' => 49,
        'en_GB' => 44,
        'en_US' => 1,
    ])->get($locale, function() {
        return 44;
    });