shwq.net
当前位置:首页 >> PHP 递归处理数组,并组合成新的数组 >>

PHP 递归处理数组,并组合成新的数组

/** * 多维数组递归合并 */function multimerge(){ $arrs = func_get_args(); $merged = array(); while($arrs){ $array = array_shift($arrs); if(!$array){ continue; } foreach ($array as $key => $value){ if (is_string($key)){ if (is_ar...

我知道你要干嘛,你想让二级分类按pid归类到相应的一级分类下面,这个好做。 你应该让你的一维数组的的key为分类id的。这样就方便多了。这里我就不把你的一维数组的key foreach成id,我觉得你在得到这个一维数组时就可以做到。下面我默认成你的...

你的结果写错了把?id=4,pid=2的怎么可能在id=1的目录下!给你写一个把!

不知道你要实现什么, if ($v['pid'] == $pid) {$arr[] = $v;$arr = array_merge($arr, recursive($array, $v['id']));}中第二行 $arr[] = $v,给$arr添加了一个元素,然后第三行又重新给$arr赋值。

你的循环有问题,递归的时候没有重新赋值 while($row=mysql_fetch_array($res)){ array_push($arr,$row['ID']); $arr = $this->push_id($arr,$row['ID']);//注意这行}

可以优化sql语句吧 何必弄两个数组出来呢 数组2里的dept等于数组1里的id 考虑优化sql语句 希望可以帮到你!

$b=&$a; 这句话就证明他们两个的内存地址是一样的,只是名字不一样而已。符号&意为引用地址。就像你有个大名和一个小名一样,都指的是你。

理论上作用域因素应该是没有的。看下这个数组别的地方有没有全局定义过

给你个思路,你结合具体项目改进吧,如下:

这个问题,简单,首先问楼主一个问题,如果说其中没有一个数组的话反转你应该会写对吧,其实这个里面有个数组就是再次调用一次本身函数就好,这就是所谓的递归,代码如下: $arr=array("1","2","3","php",array("4","5","6")); function array_r...

网站首页 | 网站地图
All rights reserved Powered by www.shwq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com