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

求高手解读一小段无限分类代码,,,

无限分类
foreach ($rows as $id => $item)
    {
if ($item['pid'])
    {
$rows[$item['pid']][$item['id']] = &$rows[$item['id']]; //主要是这一部分,能详细说明下吗?
$t[] = $id;
}
}
回复讨论(解决方案) 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; //?$tarray追加值 }}

对于 $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 相同
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; //?$tarray追加值 }}

为什么这个&符号可以起到和递归一样的效果呢?
对于 $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 相同
版主经常写这样的代码:$sql=
标识符;
自定义标识符,就像字符串用 、'' 括起一样,这里用标识符括起
标识符 自然是自定义的,当然可以给他取个贴近内容的名字
标识符;
自定义标识符,就像字符串用 、'' 括起一样,这里用标识符括起
标识符 自然是自定义的,当然可以给他取个贴近内容的名字
了解,灰常感谢,但是这样写有什么作用呢?一般什么情况才会用到?我看网上说是用来转义符号,如果是这样不是可以免去很安全处理函数?但是网上资料很少。
其它类似信息

推荐信息