我正在尝试为学校项目制作一个非常 基本的 php ORM。我几乎一切正常,但我正在尝试将结果映射到数组。这是一段代码,希望能帮助我的解释。
$results = array();
foreach($this->columns as $column){
$current = array();
while($row = mysql_fetch_array($this->results)){
$current[] = $row[$column];
print_r($current);
echo '<br><br>';
}
$results[$column] = $current;
}
print_r($results);
return mysql_fetch_array($this->results);
这可行,但 while 循环仅适用于第一列。 print_r($results);
显示以下内容:
Array ( [testID] => Array ( [0] => 1 [1] => 2 ) [testName] => Array ( ) [testData] => Array ( ) )
有人能解释一下吗? 提前致谢!
最佳答案
这是因为你已经获取了每一行,并且内部指针在末尾。 下一段时间,mysql_fetch_array() 将立即返回 false。 您可以将指针重置为第一行:
mysql_data_seek($this->results, 0);
放在前面
while($row = mysql_...
关于php - foreach 循环中的 while 循环不正确循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2799563/