使用 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;
    });