while 和 foreach遍历 效率问题
程序员文章站
2022-04-06 18:11:42
...
$sql=$empire->query("select * from member");
while($r=$empire->fetch($sql))
{
echo $r['username'].'
';//接受结果集
}
这样没有问题
////////////////////////////////////////
$sql=$empire->query("select * from {$dbtbpre}enewsmember");
$rows = mysql_fetch_array($sql);
foreach($rows as $key => $value){
echo $value.'
';
}
这样就遍历一行
////////////////////////////////////////
$sql=$empire->query("select * from {$dbtbpre}enewsmember");
while ($rows = mysql_fetch_array($sql)){
foreach($rows as $key => $value){
echo $value.'
';
}
}
第三种就遍历全部遍历出来了。
foreach 比 while更能提升效率,可是第三种还是使用了while接受数组呀,这样跟直接while循环出来,再效率上还有什么区别吗?
还有其他形式接受结果集吗?
while($r=$empire->fetch($sql))
{
echo $r['username'].'
';//接受结果集
}
这样没有问题
////////////////////////////////////////
$sql=$empire->query("select * from {$dbtbpre}enewsmember");
$rows = mysql_fetch_array($sql);
foreach($rows as $key => $value){
echo $value.'
';
}
这样就遍历一行
////////////////////////////////////////
$sql=$empire->query("select * from {$dbtbpre}enewsmember");
while ($rows = mysql_fetch_array($sql)){
foreach($rows as $key => $value){
echo $value.'
';
}
}
第三种就遍历全部遍历出来了。
foreach 比 while更能提升效率,可是第三种还是使用了while接受数组呀,这样跟直接while循环出来,再效率上还有什么区别吗?
还有其他形式接受结果集吗?
回复讨论(解决方案)
while大多数用在不确定个数的情况下
foreach相反
虽然都是循环功能不一样,不具备可比性
foreach 将数组传入系统内部进行循环,效率要比 for 高
无论是 foreach 还是 for 都是针对确定次数的循环
作为特例, for 循环也可这样写
for(; $rows = mysql_fetch_array($sql);;) {}
这就是 while($rows = mysql_fetch_array($sql)) {} 了
$sql=$empire->query("select * from member");
while ($rows = mysql_fetch_array($sql)){
foreach($rows as $key => $value){
echo $value.'
';
}
}
////////////////////////////////////
这种效率高,还是直接while循环效率高。
有办法不用while 直接用foreach循环吗?
推荐阅读
-
深入for,while,foreach遍历时间比较的详解
-
PHP中使用foreach和引用导致程序BUG的问题介绍
-
JSP中c:foreach遍历和s:iterator遍历异同实例分析
-
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
-
详解vue数组遍历方法forEach和map的原理解析和实际应用
-
在Python中,不用while和for循环遍历列表的实例
-
验证Collectors.groupingByConcurrent和 Collectors.groupingBy效率问题 (并行流 串行流)
-
跟踪网络外推效果和效率怎样做成行业普遍关注问题
-
txt - PHP操作文本和操作mysql的效率问题
-
php-PHP中使用foreach和while each输出关联数组,只能显示其中一个