onethink中 list_to_tree 函数 是如何返回数组的 php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $a = array( array('id' => 1, 'pid' => 0, 'text' => 'a'), array('id' => 2, 'pid' => 1, 'text' => 'b'), array('id' => 3, 'pid' => 2, 'text' => 'c'), array('id' => 4, 'pid' => 3, 'text' => 'd'),);list_to_tree($a);function list_to_tree($list, $pk='id', $pid = 'pid', $child = '_child', $root = 0) { // 创建Tree $tree = array(); if(is_array($list)) { // 创建基于主键的数组引用 $refer = array(); foreach ($list as $key => $data) { $refer[$data[$pk]] =& $list[$key]; } foreach ($list as $key => $data) { // 判断是否存在parent $parentId = $data[$pid]; if ($root == $parentId) { $tree[] =& $list[$key]; }else{ if (isset($refer[$parentId])) { $parent =& $refer[$parentId]; $parent[$child][] =& $list[$key]; } } echo "看看是怎么加进去的 $key\n"; print_r($tree); } } return $tree;}看看是怎么加进去的 0Array( [0] => Array ( [id] => 1 [pid] => 0 [text] => a ))看看是怎么加进去的 1Array( [0] => Array ( [id] => 1 [pid] => 0 [text] => a [_child] => Array ( [0] => Array ( [id] => 2 [pid] => 1 [text] => b ) ) ))看看是怎么加进去的 2Array( [0] => Array ( [id] => 1 [pid] => 0 [text] => a [_child] => Array ( [0] => Array ( [id] => 2 [pid] => 1 [text] => b [_child] => Array ( [0] => Array ( [id] => 3 [pid] => 2 [text] => c ) ) ) ) ))看看是怎么加进去的 3Array( [0] => Array ( [id] => 1 [pid] => 0 [text] => a [_child] => Array ( [0] => Array ( [id] => 2 [pid] => 1 [text] => b [_child] => Array ( [0] => Array ( [id] => 3 [pid] => 2 [text] => c [_child] => Array ( [0] => Array ( [id] => 4 [pid] => 3 [text] => d ) ) ) ) ) ) )) PHP中如何实现P,V操作? 关于一个表单传递数据插入数据库的简单问题 请问我是中毒了吗? Php堕落群 第十一轮散分宣传 帮忙看下关于数组的这个问题 大家有没有php版式的许愿树源码? 这样的问题怎么解决? WIN7新装了个WAMP包,但是localhost打不开 PHP怎样生成静态页。 我用的是class.FastTemplate.php3 求正则匹配第一行指定字符串 为什么我mac突然没有权限了 apache 报错 1 启动不了 是怎么回事?
array('id' => 1, 'pid' => 0, 'text' => 'a'),
array('id' => 2, 'pid' => 1, 'text' => 'b'),
array('id' => 3, 'pid' => 2, 'text' => 'c'),
array('id' => 4, 'pid' => 3, 'text' => 'd'),
);
list_to_tree($a);function list_to_tree($list, $pk='id', $pid = 'pid', $child = '_child', $root = 0) {
// 创建Tree
$tree = array();
if(is_array($list)) {
// 创建基于主键的数组引用
$refer = array();
foreach ($list as $key => $data) {
$refer[$data[$pk]] =& $list[$key];
}
foreach ($list as $key => $data) {
// 判断是否存在parent
$parentId = $data[$pid];
if ($root == $parentId) {
$tree[] =& $list[$key];
}else{
if (isset($refer[$parentId])) {
$parent =& $refer[$parentId];
$parent[$child][] =& $list[$key];
}
}
echo "看看是怎么加进去的 $key\n";
print_r($tree);
}
}
return $tree;
}看看是怎么加进去的 0
Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[text] => a
))
看看是怎么加进去的 1
Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[text] => a
[_child] => Array
(
[0] => Array
(
[id] => 2
[pid] => 1
[text] => b
) ) ))
看看是怎么加进去的 2
Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[text] => a
[_child] => Array
(
[0] => Array
(
[id] => 2
[pid] => 1
[text] => b
[_child] => Array
(
[0] => Array
(
[id] => 3
[pid] => 2
[text] => c
) ) ) ) ))
看看是怎么加进去的 3
Array
(
[0] => Array
(
[id] => 1
[pid] => 0
[text] => a
[_child] => Array
(
[0] => Array
(
[id] => 2
[pid] => 1
[text] => b
[_child] => Array
(
[0] => Array
(
[id] => 3
[pid] => 2
[text] => c
[_child] => Array
(
[0] => Array
(
[id] => 4
[pid] => 3
[text] => d
) ) ) ) ) ) ))