无限分类的问题

无限分类的问题

<?php   
$arr = array(   
    array('id'=>1, 'pid'=>0, 'order'=>0),   
    array('id'=>2, 'pid'=>0, 'order'=>1),   
    array('id'=>3, 'pid'=>2, 'order'=>0),   
    array('id'=>4, 'pid'=>0, 'order'=>2),   
    array('id'=>5, 'pid'=>3, 'order'=>0),   
    array('id'=>6, 'pid'=>1, 'order'=>0),   
    array('id'=>7, 'pid'=>1, 'order'=>1)   
);   
  
function order($a,$b) {   
    if($a['pid'] == $b['pid']) {   
        if($a['order'] > $b['order'])   
            return 1;   
        elseif($a['order'] < $b['order'])   
            return -1;   
        return 0;   
    }   
      
    return $a['pid'] > $b['pid'] ? 1 : -1;   
}   
  
usort($arr, "order");   
  
$new_arr = array();   
$temp_arr = array();   
  
foreach($arr as $row) {   
    $row['child'] = array();   
    if($row['pid'] == 0) {   
        $i = count($new_arr);   
        $new_arr[$i] = $row;   
        $temp_arr[$row['id']] = &$new_arr[$i];   
    }   
    else {   
        $i = count($temp_arr[$row['pid']]['child']);   
        $temp_arr[$row['pid']]['child'][$i] = $row;   
        $temp_arr[$row['id']] = &$temp_arr[$row['pid']]['child'][$i];   
    }   
}   
  
echo "<pre>", print_r($new_arr, true), "</pre>";   
?>




   $i = count($new_arr);   
        $new_arr[$i] = $row;   
这里很疑惑 什么意思哦,希望鱼哥解析下

你疑惑的是?blog上有些文字解析的啊。你先看看
如履薄冰

解析看了,看不懂。。   可能是我理解能力差
这2句什么意思
$i = count($new_arr);   
        $new_arr[$i] = $row;

取得数组长度让后赋值啊
因为数组键值是从0开始的
如履薄冰

明白了 。。。再次感动中