我正在深入研究Laravel应用程序,并且遇到了以下功能。这被称为路由过程的一部分(这是我想要弄清楚的)并且我遇到了一种奇怪的情况,其中发生了某种魔法。调用该函数时,$数组包含一个字符串数组。但是当我将阵列转移到下面可以看到的某些点时,它已被彻底改变了?
/**
* Return the first element in an array passing a given truth test.
*
* @param array $array
* @param callable|null $callback
* @param mixed $default
* @return mixed
*/
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;
}
}
数组在这里为空
dd($array) // []
foreach ($array as $key => $value) {
数组现在包含一个对象
dd($array);
if (call_user_func($callback, $value, $key)) {
return $value;
}
}
return value($default);
}
关于我应该阅读的内容的任何建议都会很棒!
由于