Laravel PHP foreach(User::all()作为$User)性能

Laravel PHP foreach(User::all()作为$User)性能,php,performance,laravel,Php,Performance,Laravel,如果我像这样编写foreach循环,那么方法all()是再次调用每个循环还是只调用一次 foreach(User::all() as $user) { ... } 我知道,在C语言中,all()函数只执行一次。但是在php中也是这样吗 或者,如果我将数据保存在这样的变量中,速度会更快吗 $users = User::all(); foreach($users as $user) { ...} 这两段代码将完成完全相同的工作,并且只创建一个DB查询,但为了更好的可读性,我将使用以下代码: $u

如果我像这样编写foreach循环,那么方法
all()
是再次调用每个循环还是只调用一次

foreach(User::all() as $user) { ... }
我知道,在C语言中,
all()
函数只执行一次。但是在php中也是这样吗

或者,如果我将数据保存在这样的变量中,速度会更快吗

$users = User::all();
foreach($users as $user) { ...}

这两段代码将完成完全相同的工作,并且只创建一个DB查询,但为了更好的可读性,我将使用以下代码:

$users = User::all();
foreach ($users as $user) { ... }

谢谢你的回答,然后我用我的第一个例子,它的清洁剂,我需要在刀片模板少一行;)@Phil795 DB或雄辩的代码不应在模板中。理想情况下,将其放入模型中。如果它只是一个有趣的小应用程序,你可以把它放到控制器上。另外,我很确定您将来会将此查询更改为其他查询,因此我还是要使用第二段代码。这只是一个简单的用户列表,我认为没有理由创建一个仅用于显示的UserController。当然,“更大”的页面是在控制器中分离的。这个方法的另一个问题是,当你有4000个用户时,这个页面就会掉下来。我理解你的想法,但是这个应用程序有300个用户的固定大小。