您好,欢迎访问一九零五行业门户网

php 非递归树形数组构造函数

分享二个不用递归实现的树形数组的构造函数,有需要的朋友,作个参考。非递归树形数组构造函数,代码:
$item ) {if ($item [$pid]) {if (! isset ( $t [$item [$pid]] ['parent'] [$item [$pid]] ))$t [$item [$id]] ['parent'] [$item [$pid]] = & $t [$item [$pid]];}}return $t;}/*** * 创建子节点树形数组 * 参数 * * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid* 数组中作为父键的下标或关联键名 * 返回 多维数组 **/function find_child($ar, $id = 'id', $pid = 'pid') {foreach ( $ar as $v )$t [$v [$id]] = $v;foreach ( $t as $k => $item ) {if ($item [$pid]) {$t [$item [$pid]] ['child'] [$item [$id]] = & $t [$k];}}return $t;}$data = array (array ('id' => 1,'parent' => 0,'name' => '祖父' ),array ('id' => 2,'parent' => 1,'name' => '父亲' ),array ('id' => 3,'parent' => 1,'name' => '叔伯' ),array ('id' => 4,'parent' => 2,'name' => '自己' ),array ('id' => 5,'parent' => 4,'name' => '儿子' ) );$p = find_parent ( $data, 'id', 'parent' );$c = find_child ( $data, 'id', 'parent' );print_r($c);exit;?>
其它类似信息

推荐信息