当前位置:  编程技术>php
本页文章导读:
    ▪php实现的无限分类(递归版本)的例子      php实现的无限分类(递归版本)的例子,有需要的朋友可以看看。   代码如下: Array (     [0] => Array         (             [id] => 1             [name] => dev          .........
    ▪一个简单的php数组递归的例子      一个简单的php数组递归的例子,供初学的朋友们参考。 输出结果: ......
    ▪php 数组递归求和的例子      php 数组递归求和的例子:将一个数组,或多重数字二维数组并返回所有值的总和。 有需要的朋友可以参考下。   代码如下: <?php /** desc:数组递归求和 link:www. date:2013/2/22 */ functio.........

[1]php实现的无限分类(递归版本)的例子
    来源: 互联网  发布时间: 2013-12-24

php实现的无限分类(递归版本)的例子,有需要的朋友可以看看。
 

代码如下:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => dev
            [parentid] => 0
            [childs] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [name] => php
                            [parentid] => 1
                            [childs] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 3
                                            [name] => smarty
                                            [parentid] => 2
                                        )

                                    [1] => Array
                                        (
                                            [id] => 5
                                            [name] => pdo
                                            [parentid] => 2
                                            [childs] => Array
                                                (
                                                    [0] => Array
                                                        (
                                                            [id] => 6
                                                            [name] => pdo-mysql
                                                            [parentid] => 5
                                                        )

                                                )

                                        )

                                )

                        )

                    [1] => Array
                        (
                            [id] => 7
                            [name] => java
                            [parentid] => 1
                        )

                )

        )

    [1] => Array
        (
            [id] => 4
            [name] => life
            [parentid] => 0
        )
)

看有没有更简单的实现方法
 

代码如下:

<?php
$rows = array(
    array(
        'id' => 1,
        'name' => 'dev',
        'parentid' => 0
    ),
    array(
        'id' => 2,
        'name' => 'php',
        'parentid' => 1
    ),
    array(
        'id' => 3,
        'name' => 'smarty',
        'parentid' => 2
    ),
    array(
        'id' => 4,
        'name' => 'life',
        'parentid' => 0
    ),
    array(
        'id' => 5,
        'name' => 'pdo',
        'parentid' => 2
    ),
    array(
        'id' => 6,
        'name' => 'pdo-mysql',
        'parentid' => 5
    ),
    array(
        'id' => 7,
        'name' => 'java',
        'parentid' => 1
    )
);

// 72648
// 84072
function findChild(&$arr,$id){
 
    $childs=array();
     foreach ($arr as $k => $v){
         if($v['parentid']== $id){
              $childs[]=$v;
         }
    }
    return $childs;   
}

function build_tree($root_id){
    global $rows;
    $childs=findChild($rows,$root_id);
    if(empty($childs)){
        return null;
    }
   foreach ($childs as $k => $v){
       $rescurTree=build_tree($v[id]);
       if( null !=   $rescurTree){
       $childs[$k]['childs']=$rescurTree;
       }
   }
    return $childs;
}

$tree=build_tree(0);
echo memory_get_usage();
print_r($tree);
?>

您可能感兴趣的文章:
php无限分类的例子(仿淘宝商品分类)
php实现的无限分类(递归版本)的例子
使用php数组实现的无限分类(不使用数据库与用递归)
php写的一个递归实现无限分类生成下拉列表的函数

    
[2]一个简单的php数组递归的例子
    来源: 互联网  发布时间: 2013-12-24

一个简单的php数组递归的例子,供初学的朋友们参考。

输出结果:


    
[3]php 数组递归求和的例子
    来源: 互联网  发布时间: 2013-12-24

php 数组递归求和的例子:将一个数组,或多重数字二维数组并返回所有值的总和。
有需要的朋友可以参考下。
 

代码如下:

<?php
/**
desc:数组递归求和
link:www.
date:2013/2/22
*/
function arraySumRecursive($array)
{
  $total = 0;
  foreach(new recursiveIteratorIterator( new recursiveArrayIterator($array)) as $num)
 {
    $total += $num;
 }
    return $total;
}

/*** a flat array ***/
$array = array(10, 20, 5, 34, 129);

/*** add the values ***/
echo arraySumRecursive($array)."<br />";

/*** a multi dimensional array ***/
$array = array(10, 20, 5,
    array(5, 2, 3,
        array(5, 3,
          array(2, 10,
              array(19, 1)
             ),3
       ), 2, 7
     ), 3
);

/*** add the values ***/
echo arraySumRecursive($array);
?>

以上脚本的输出结果如下:

猜你喜欢:
有关php数组及循环的小例子


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,