为什么在循环访问之前数组是空的?

时间:2017-06-09 13:54:44

标签: php laravel

我正在深入研究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);
}

关于我应该阅读的内容的任何建议都会很棒!

由于

0 个答案:

没有答案