我正在做一个非常简单的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
为什么我会出现这种行为?
答案 0 :(得分:5)
因为它还包含一个填充了列位置的数组(即:0,1,2,3和id,用户名,密码,电子邮件)。 id
和0
都包含相同的数据。
如果您只想要字符串索引,可以使用mysqli_fetch_assoc
(http://php.net/mysqli_fetch_assoc)