-6

我正在做一个非常简单的 php 语句,例如

print_r($my_rec);
$row = mysqli_fetch_array($my_rec);
echo "\nP_Id " . $row['P_Id'] . ' Length ' . sizeof($row) . "\n";
$row = mysqli_fetch_array($my_rec);
echo "\nP_Id " . $row['P_Id'] . ' Length ' . sizeof($row) . "\n";

现在当 print_r 打印到屏幕上时,它报告每个数组中只有 16 个字段/列。这是真实的。但是,当我获取一个数组时,它给了我双倍的字段。换句话说,数组在重复自己,这是没有意义的。例子 ...

我的数据库中有

 Col1  Col2
 "hi1" "bye1"

当我做

 $row = mysqli_fetch_array($my_rec);
 foreach($row as $x){
       echo $x . "\n";
 }

它会打印

 hi1
 hi1
 by2
 by2

为什么我会出现这种行为?

4

1 回答 1

5

因为它还包括一个填充了列位置的数组(即:0、1、2、3 和 id、用户名、密码、电子邮件)。两者都id保存0相同的数据。

如果你只想要字符串索引,你可以使用mysqli_fetch_assochttp://php.net/mysqli_fetch_assoc

于 2013-04-13T22:10:02.423 回答