=0");$array=@mysql_fetch_array($level1_orders);forea " />
phpforeach第⼀个,为什么foreach输出数组元素的第⼀个字符
$sql=mysql_query(",me,_no,e,sion1,rombuybakbleftjoinmemberm
=d='".$ur[urid]."'1>=0");
$array=@mysql_fetch_array($level1_orders);
foreach($arrayas$rows){
echo$rows.'
';//循环输出两个数组的信息
echo$rows['urid'].'
';//这样却只输出了每个元素的第⼀字符,如urname的值为test,则输出了t。这是怎么回事?
}
⽤while可以正常输出,我想知道怎么⽤foreach输出
回复讨论(解决⽅案)
$array=@mysql_fetch_array($level1_orders);
print_r($array);//看看是什么
$array=@mysql_fetch_array($level1_orders);
print_r($array);//看看是什么
print_r($array)只输出了⼀个数组,while会循环两个⼆维数组,两个才是对的。foreach却没办法打印下标
Array
(
[0]=>3
[urid]=>3
[1]=>test3
[urname]=>test3
[2]=>VIP
[card_no]=>VIP
[3]=>2016-02-1614:53:33
[buytime]=>2016-02-1614:53:33
[4]=>{"1":5,"2":8,"3":10,"4":12}
[commission1]=>{"1":5,"2":8,"3":10,"4":12}
[5]=>1
[level]=>1
)
while循环是怎样的,打印输出看看
其次,你上边的这种foreach遍历是遍历⼆维数组的,但是你的$array明显就是⼀维数组。
$array=@mysql_fetch_array($level1_orders);
print_r($array);//看看是什么
这是while循环出来的,这个是对的。
Array
(
[0]=>Array
(
[0]=>2
[id]=>2
[1]=>3
[urid]=>3
[2]=>test3
[urname]=>test3
[3]=>VIP
[card_no]=>VIP
[4]=>2016-02-1614:53:33
[buytime]=>2016-02-1614:53:33
[5]=>{"1":5,"2":8,"3":10,"4":12}
[commission1]=>{"1":5,"2":8,"3":10,"4":12}
[6]=>1
[level]=>1
)
[1]=>Array
(
[0]=>10
[id]=>10
[1]=>8
[urid]=>8
[2]=>test8
[urname]=>test8
[3]=>VIP
[card_no]=>VIP
[4]=>2016-02-1614:59:13
[buytime]=>2016-02-1614:59:13
[5]=>{"1":5,"2":8,"3":10,"4":12}
[commission1]=>{"1":5,"2":8,"3":10,"4":12}
[6]=>1
[level]=>1
)
)
mysql_fetch_array($level1_orders)返回的是⼀维数组
所以你需要⽤while循环执⾏mysql_fetch_array以读取全部结果
遍历⼀维数组只需使⽤⼀个循环,你⽤两个⾃然就不对了
本⽂原创发布php中⽂⽹,转载请注明出处,感谢您的尊重!
本文发布于:2023-01-02 12:45:42,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/77784.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |