我正在使用教程创建我的第一个php网站以供参考。我无法理解为什么以下有效:
while ($row = mysql_fetch_array($result)){
echo $row[1]. " ".row[2]."<br/>";
}
具体来说,循环如何递增到下一行?
更新: 感谢所有打扰提供答案的人,包括那些恳求我接受RTM的人。我的问题不是理解while循环是如何工作的,而是我无法看到循环如何递增。 答案: 来自PHP文档,
mysql_fetch_array:返回与获取的行对应的数组,并向前移动内部数据指针
我现在看,一切都很好。
答案 0 :(得分:2)
您可以将该代码重写为此等效代码:
$row = mysql_fetch_array($result); // fetch and advance
while ($row !== false) { // compare result against false
echo $row[1]. " ".row[2]."<br/>";
$row = mysql_fetch_array($result); // fetch and advance
}
赋值产生一个可以在条件中使用的值,尽管在括号中加上括号是个好习惯:
// fetch and advance, compare fetched result against false
while (($row = mysql_fetch_array($result)) !== false) {
echo $row[1]. " ".row[2]."<br/>";
}
答案 1 :(得分:1)
mysql_fetch_array()将获取$ result并以数组的形式保存到$ row中。使用while循环,程序将从开头到结束循环数组中的数据。
顺便说一下,你的代码应该是
while ($row = mysql_fetch_array($result)){
echo $row['someData1']. " ".row['someData2']."<br/>";
}
如果你想遍历索引,那么代码看起来就像下面一样,但它将打印单词Array,因为你将在“那个”特定索引中打印结果。
$indexCounter = 0;
while ($row = mysql_fetch_array($result)){
echo $row[$indexCounter]."<br/>";
}
希望这有帮助!谢谢。
答案 2 :(得分:0)
mysql_fetch_array接受$ result的第一个元素然后是$ result有这个元素的元素...就像从牌组中取出卡片
答案 3 :(得分:0)
阅读PHP While文档。了解mysql_fetch_array()的作用及其运作方式可能也很有用。阅读完毕后,请不要再次使用mysql_*
函数,因为它们已被弃用。相反,请使用mysqli_*
或PDO
。