foreach ($rows as $id => $item)
    {
if ($item['pid'])
    {
$rows[$item['pid']][$item['id']] = &$rows[$item['id']]; //主要是这一部分,能详细说明下吗?
$t[] = $id;
}
}无限分类

解决方案 »

  1.   

    foreach ($rows as $id => $item){
    //$rows是一個array,拆分成鍵值對 if ($item['pid']){
    //如果$item['pid']非false $rows[$item['pid']][$item['id']] = &$rows[$item['id']]; //主要是这一部分,能详细说明下吗?
    //我給你列出array的結構來吧
    /**
    Array(
    ?=>Array(
    'id'=>'?',
    'pid'=>Array(
    'id'=>$rows[$item['id']]
    ),
    ),
    );
    /**/ $t[] = $id;
    //給$t這個array追加值
    }
      

  2.   

    对于$rows = array(
      1 => array( 'id' => 1, 'pid' => 0 ),
      2 => array( 'id' => 2, 'pid' => 1 ),
      3 => array( 'id' => 3, 'pid' => 2 ),
      4 => array( 'id' => 4, 'pid' => 3 ),
    );$rows[$item['pid']][$item['id']] = &$rows[$item['id']]; 的作用就是这样
    前提是数组 $rows 的键与 id 相同
      

  3.   

      为什么这个&符号可以起到和递归一样的效果呢?
      

  4.   

    版主经常写这样的代码:$sql=<<<SQL,,,,SQL;能解释下这是什么吗?$sql=<<<TXT,,,,TXT有什么区别吗?
      

  5.   

    <<< 标识符
    标识符;自定义标识符,就像字符串用 ""、'' 括起一样,这里用标识符括起
    标识符 自然是自定义的,当然可以给他取个贴近内容的名字