递归数组的疑问

剑心永远OK 2008-02-21 03:03:41
递归数组,但是返回NULL,在递归里面可以输出值.为什么??

$arr=array();
for($i=0;$i<=1;$i++)
{
$content="http://www.xxx.com/product_info.php?products_id=$i";
preg_match_all('/http:\/\/www.xxx.com\/product_info.php\?products_id=\d+/',$content,$link_array[]);
}
function check_is_array($arr)
{
foreach ($arr as $key=>$value)
{
//如果是数组继续递归
if(is_array($value))
{
check_is_array($value);
}
else
{
//echo $new_value.=$value;//这样能输出
return $new_value.=$value;//这样返回NULL,为什么啊?

}
}

}
var_dump(check_is_array($link_array));
...全文
112 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑心永远OK 2008-02-22
  • 打赏
  • 举报
回复
问题解决.
剑心永远OK 2008-02-21
  • 打赏
  • 举报
回复
但是根据递归的思想,当这个不是数组的时候,就把这个值return 回去.怎么会在是数组的条件中返回值的呢.
总哈哈 2008-02-21
  • 打赏
  • 举报
回复
你需要放一个变量进来,把值给带出去。
剑心永远OK 2008-02-21
  • 打赏
  • 举报
回复
楼上的,说下为什么啊..很少用foreach..不知道它怎么走法的.我的按思想来说没有错啊..
张吉Jerry 2008-02-21
  • 打赏
  • 举报
回复
for($i=0;$i<5;$i++){
$content="http://www.xxx.com/product_info.php?products_id=$i";
preg_match_all('/http:\/\/www.xxx.com\/product_info.php\?products_id=\d+/',$content,$link_array[]);
}
var_dump(check_is_array($link_array));

function check_is_array($arr){
if(is_array($arr)){
$value="";
foreach($arr as $arri)
$value.=check_is_array($arri);
return $value;
}else
return $arr;
}

但这样做有啥意义?……
剑心永远OK 2008-02-21
  • 打赏
  • 举报
回复
不行..汗..
张吉Jerry 2008-02-21
  • 打赏
  • 举报
回复
return check_is_array($value);
剑心永远OK 2008-02-21
  • 打赏
  • 举报
回复
人呢???晕死..

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧