gpt4 book ai didi

php - 为什么总是使用 "while"循环来迭代 mysql_fecth_array() 函数结果?

转载 作者:行者123 更新时间:2023-11-29 07:34:17 25 4
gpt4 key购买 nike

为什么人们不使用 forforeachdo..while() 以及为什么在 while 中省略增量计数器?

`<?php  while ( $fa = mysql_fetch_array($sel1) )//uesd mysql_fetch_array() function in while loop
{
echo $fa['cid'];//display client id
}

//w3school 中的语法给出了使用这个

 $x = 1; 

while($x <= 5) {
echo "The number is: $x";
$x++;
}
?>//show why we don't used mysql_fecth_array() like this

最佳答案

这是一种过时的信息。在某种程度上,你提出的问题刚刚被社区接受。更好理解的是,当我有信息要显示时......做一些事情。尽管您可以,但您通常不会说对于这些项目中的每一项...做某事。然而,另一个问题是如果没有更多行,mysql_fetch_array 将返回 FALSE。这在 foreach 中不起作用,因为它不是数组。 for 也会失败,因为要检查 for 的完成,您必须到达某个点并结束。FALSE 不是有效的检查点(我曾经尝试过或使用过)。

<小时/>

@Michael Berkowski 补充:

从 PHP 5.4+ 开始,mysqli_result 类确实支持迭代器,这意味着您可以执行 $result = mysqli_query(...); 以及随后的 foreach ($result as $row ) {...} 它将获取关联数组

尽管这并不是最常用的形式,这就是我们提出这个问题的原因

<小时/>

你可以做...while但你为什么要这么做。您没有从获取数组中获得所需的大部分信息。

虽然被接受并且通常更好。不会失败,并且如果 mysql 以任何方式失败,都会有回退。

最后...不要再使用mysql_*了。切换到 mysqli_*。更安全..更智能..更好。

关于php - 为什么总是使用 "while"循环来迭代 mysql_fecth_array() 函数结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31439416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com