Laravel的Arr.php对象中的value函数是什么?

时间:2019-05-23 18:34:41

标签: laravel laravel-5

在PHP 7.2.10中,我在laravel的Arr.php中收到名为value()的函数的未捕获错误。

我尝试搜索PHP.net手册,该手册对于名为value的函数不返回任何内容。

例如,该功能在https://github.com/illuminate/support/blob/master/Arr.php中找到 什么是价值函数?

    public static function first($array, callable $callback = null, $default = null)
    {
        if (is_null($callback)) {
            if (empty($array)) {
                return value($default);
            }
            foreach ($array as $item) {
                return $item;
            }
        }
        foreach ($array as $key => $value) {
            if (call_user_func($callback, $value, $key)) {
                return $value;
            }
        }
        return value($default);
    }

1 个答案:

答案 0 :(得分:1)

在Illuminate / Support / helpers.php中,您将找到定义:

if (! function_exists('value')) {
    /**
     * Return the default value of the given value.
     *
     * @param  mixed  $value
     * @return mixed
     */
    function value($value)
    {
        return $value instanceof Closure ? $value() : $value;
    }
}

英语:如果$ value是闭包或匿名函数,它将被执行并返回返回值。除此之外,它只会返回原始的$ value。