在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);
}
答案 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。