Foreach循环vs while循环结果

Tom*_*azi 14 php sql foreach while-loop

我有一点困境,在PHP中,foreach循环和while循环似乎在这种情况下完全相同:

foreach($execute->result as $item){
    echo $item['user_pass'].'<br />';
}
Run Code Online (Sandbox Code Playgroud)

while($row = mysqli_fetch_assoc($execute->result)){
    echo $row['user_pass'].'<br />';
}
Run Code Online (Sandbox Code Playgroud)

我的问题是有任何真正的差异......?什么时候会更好地使用另一个或者两者都可以使用....?这两个中的任何一个都会给你带来更大的可能性吗?

Ita*_*Ale 5

在这种情况下,它们完全等效。它mysqli_result实现了Traversable接口(如此处记录的: http: //www.php.net/mysqli_result),因此也可以使用foreach循环进行迭代。

我想,在内部,调用foreach一个mysqli_result对象也会执行对的调用mysqli_fetch_assoc

我认为使用第一种方法或第二种方法没有任何区别;然而,第一个对我来说看起来更漂亮并且“更多 PHP5”!
说到灵活性,第一个当然也更灵活,因为您可以将该代码与任何实现的对象一起使用,Traversable而不仅仅是mysqli_result.