- 论坛徽章:
- 14
|
本帖最后由 reb00t 于 2014-09-21 19:52 编辑
- function find_parent($ar, $id='id', $pid='pid') {
- foreach($ar as $v) $t[$v[$id]] = $v;
- foreach ($t as $k => $item){
- if( $item[$pid] ){
- if( ! isset($t[$item[$pid]]['parent'][$item[$pid]]) )
- $t[$item[$id]]['parent'][$item[$pid]] =& $t[$item[$pid]];
- }
- }
- 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, 4, 2);
复制代码 函数里面的循环没看懂,求大神解惑,感谢。。
原帖http://bbs.csdn.net/topics/370094009 |
|