php 使用for循环无法输出数组

代码如下<?phprequire("../connect/mysql_connect.php");$sql=mysql_query("select*froml_annou... 代码如下
<?php
require("../connect/mysql_connect.php");
$sql=mysql_query("select * from l_announce");
$info=mysql_fetch_array($sql);
$arr=$info[a_title];
$num = count($arr);
for($i=0;$i<$num;++$i){
echo $arr[$i].'<br />';
}
?>
使用for循环输出的是一个方框符号。但是用do...while却能正常输出,
<?php
require("../connect/mysql_connect.php");
$sql=mysql_query("select * from l_announce");
$info=mysql_fetch_array($sql);
do {
$arr = $info[a_title];
echo $arr;
}
while($info=mysql_fetch_array($sql));
?>
展开
 我来答
阳光上的桥
2014-05-05 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65819
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你看看你的语句:
$info=mysql_fetch_array($sql);
$arr=$info[a_title];
这个的$arr就是一个简单变量,根本不是数组,你如何去foreach

请注意,mysql_fetch_array只返回SQL的一条结果,只返回一行数据,一行。所以$info[a_title]只是一行数据的里面一个字段的值而已。

你这样就能加深理解:
print_r($info);
print_r($arr);
凯瑞化学宣传
推荐于2016-02-09 · TA获得超过872个赞
知道小有建树答主
回答量:1572
采纳率:0%
帮助的人:779万
展开全部
两个的区别在于:while($info=mysql_fetch_array($sql));

mysql_fetch_array($sql) 循环了N次
而for 里面没有循环。
mysql_fetch_array($sql)得到的并不是一个数组
你可以 $info=mysql_fetch_array($sql);
print_r($info)看看。
你仔细看看明白了吗?如果还不明白可以继续追问。
追问
那如果要用for循环,改怎么改?
追答
不太好用for 除非你知道有多少条记录
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式