Laravel PHP foreach(User::all() as $user) 性能

Phi*_*795 3 php performance laravel

如果我像这样编写一个 foreach 循环,该方法是all()在每个循环中再次调用还是仅调用一次?

foreach(User::all() as $user) { ... }
Run Code Online (Sandbox Code Playgroud)

我知道在 C# 中,该all()函数只执行一次。但在 php 中也可以吗?

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

$users = User::all();
foreach($users as $user) { ...}
Run Code Online (Sandbox Code Playgroud)

Ale*_*nin 5

这两段代码将执行完全相同的工作,并且仅创建一个数据库查询,但为了更好的可读性,我会这样做:

$users = User::all();
foreach ($users as $user) { ... }
Run Code Online (Sandbox Code Playgroud)