gpt4 book ai didi

php - 了解 fetch_assoc()

转载 作者:可可西里 更新时间:2023-11-01 12:45:53 25 4
gpt4 key购买 nike

我试图了解 fetch_assoc 如何/为何以它的方式工作。我有以下代码:

$results = $connectToDb->fetch("SELECT * FROM customer");
$resultsArray = $results->fetch_assoc();
print_r($resultsArray); //print_r 1

while($row = $results->fetch_assoc()){
print_r($row); //print_r 2
}

查询从表中返回 3 行。为什么第一个 print_r 只返回查询数据的第一行,而第二个 print_r 返回全部 3 行?将 fetch_assoc 放入 while 循环如何告诉它多次执行操作?我读到 fetch_assoc 返回关联数组或 NULL,但我很难理解 while 循环如何“告诉”fetch_assoc 获取下一行,如果这有意义的话?

谢谢。

最佳答案

让我们尝试理解您的代码及其工作原理:

$results = $connectToDb->fetch("SELECT * FROM customer");

变量 $results 有一组由查询返回的行。集合的大小可以从 0 到 n。

$resultsArray = $results->fetch_assoc();

此行从集合中获取第一个元素。如果集合为空,它将返回 NULL

while($row = $results->fetch_assoc()){
}

可以通过以下步骤解耦:

  1. 计算 $row = $results->fetch_assoc() 并返回包含元素的数组NULL
  2. while 中的 $row = $results->fetch_assoc() 替换为获取的值,得到以下语句: while(array(with elements)) while(NULL)
  3. 如果它是 while(array(with elements)),它将解决 True 中的 while 条件并允许执行迭代。
  4. 如果它是 while(NULL),它会解析 False 中的 while 条件并退出循环。

关于php - 了解 fetch_assoc(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39267773/

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