[英]print_r array returns nested arrays
我有以下脚本根据我的代码创建一个数组:
$roundstotal=mysql_query("SELECT id FROM calendar
WHERE eventDate
BETWEEN '$season_start'
AND '$season_end'
AND competition='$compId'
AND tag!='T'
ORDER BY eventDate ASC", $CONNECTW);
while($row = mysql_fetch_assoc($roundstotal)) {
$roundsarray[]=$row;
}
当我尝试使用print_r(如print_r($roundsarray);
)时,得到以下内容,这并不是我所看到的有关数组的所有文档所显示的内容。 可能是这样的原因,当我尝试在更远的地方使用数组中的数据时,我什么也没得到。
打印输出为:
Array ( [0] => Array ( [id] => 598 )
[1] => Array ( [id] => 602 )
[2] => Array ( [id] => 607 )
[3] => Array ( [id] => 613 )
[4] => Array ( [id] => 619 )
[5] => Array ( [id] => 626 )
[6] => Array ( [id] => 633 )
[7] => Array ( [id] => 641 )
[8] => Array ( [id] => 648 )
[9] => Array ( [id] => 656 )
[10] => Array ( [id] => 660 )
[11] => Array ( [id] => 668 )
[12] => Array ( [id] => 675 )
[13] => Array ( [id] => 682 )
[14] => Array ( [id] => 688 )
[15] => Array ( [id] => 694 )
[16] => Array ( [id] => 699 ) )
这个对吗? 它不应该是Array ([0] => 598 [1]=> 602
等吗?
首先,不推荐使用mysql_*
函数很多年了 ,所以不要使用它们。 下面,我将使用mysqli_*
函数进行回答。
其次,这是预期的行为,因为mysqli_fetch_assoc
已经返回一个关联数组:
while($row = mysqli_fetch_assoc($roundstotal)) {
// $row is an array of array("id" => 598); and so on
$roundsarray[]=$row;
}
您需要的是
while($row = mysqli_fetch_assoc($roundstotal)) {
$roundsarray[]=$row['id'];
}
然后$roundsarray
数组将看起来像您期望的那样:
Array (
[0] => 598
[1] => 602
[2] => 607
[3] => 613
// ... and so on
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.