> 백엔드 개발 > PHP 튜토리얼 > while 和 foreach遍历 效率问题

while 和 foreach遍历 效率问题

WBOY
풀어 주다: 2016-06-20 12:35:19
원래의
1328명이 탐색했습니다.

$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大多数用在不确定个数的情况下
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循环吗?

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿