Home >Backend Development >PHP Tutorial >为什么 foreach 输出数组 元素的第一个字符
$sql=mysql_query("select b.userid,b.username,b.card_no,b.buytime,b.commission1,m.level from buybak b left joinmember m on b.userid=m.userid where m.agentid='".$user[userid]."' and b.status1>=0 " );
$array = @mysql_fetch_array($level1_orders);
foreach ($array as $rows) {
echo $rows.'
';//循环输出两个数组的信息
echo $rows['userid'].'
';//这样却只输出了每个元素的第一字符,如username的值为test,则输出了t。这是怎么回事?
}
用while可以正常输出,我想知道怎么用foreach输出
$array = @mysql_fetch_array($level1_orders);
print_r($array); //看看是什么
$array = @mysql_fetch_array($level1_orders);
print_r($array); //看看是什么
while循环是怎样的,打印输出看看
其次,你上边的这种foreach遍历是遍历二维数组的,但是你的$array明显就是一维数组。
$array = @mysql_fetch_array($level1_orders);
print_r($array); //看看是什么
mysql_fetch_array($level1_orders) 返回的是一维数组
所以你需要用 while 循环执行 mysql_fetch_array 以读取全部结果
遍历一维数组只需使用一个循环,你用两个自然就不对了