【发布时间】:2017-07-21 17:33:02
【问题描述】:
我正在 Laravel 中开发一个 Web 应用程序。下面的代码不是来自应用程序,而是让您对我遇到的问题有一个简单的了解。
以下代码有效
public $my_users = []; //This is outside function
$users = [];
$users = User::all();
$this->my_users = $users;
这很简单,工作正常。但是,我希望能够遍历所有用户并添加我选择的用户,如下所示:
public $my_users = []; //This is outside function
$users = [];
$all_users = User::all();
foreach ($all_users as $user)
{
array_push($users, $user);
}
$this->my_users = $users;
再一次,我在这里所做的事情背后没有任何逻辑,这只是一个例子。
在这种情况下,两段代码应该有相同的结果。但是,第二段代码不起作用。似乎是 array_push 函数在这里不起作用。有什么理由吗?我在这里做什么?
【问题讨论】:
-
var_dump($users) 的结果是什么; ?
-
您似乎正在循环一个数组以创建另一个数组,然后在全局数组中进行分配。你为什么这样做?而是不能直接赋值数组吗?
-
我觉得这里少了点什么。除非 users 表为空(在这种情况下,第一个 sn-p 将有一个对象,第二个将有一个空数组),否则任何一个 sn-ps 都不会失败。