php递归拼接数组

$ID=array($_GET['tid']);$arr_id=$this->push_id($ID,$_GET['tid']);var_dump($arr_id);fu... $ID = array($_GET['tid']); $arr_id = $this->push_id($ID,$_GET['tid']); var_dump($arr_id); function push_id($arr,$id){ $query = 'SELECT * FROM ping WHERE fid='.$id; $res = mysql_query($query); while($row=mysql_fetch_array($res)){ array_push($arr,$row['ID']); $this->push_id($arr,$row['ID']); } return $arr; }
数据库:

理论上输出结果是:(16,22,23,24)但输出结果是:(16,22),应该是第一个循环执行玩之前又执行另一个循环,然后回到第一个循环的时候按(16,22)这个数组算的 这个怎么解决啊
展开
 我来答
heavengoes
2015-10-15 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:50%
帮助的人:80万
展开全部

你的循环有问题,递归的时候没有重新赋值

while($row=mysql_fetch_array($res)){
    array_push($arr,$row['ID']);
    $arr = $this->push_id($arr,$row['ID']);//注意这行
}
匿名用户
2015-10-15
展开全部
就循环了一次,没进入自身循环,你想用递归吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式