当前位置:Gxlcms > PHP教程 > 求高手解读一小段无限分类代码,,,

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

时间:2021-07-01 10:21:17 帮助过:4人阅读

无限分类

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;		//?$t??array追加值	}} 

对于

$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;		//?$t??array追加值	}} 
为什么这个&符号可以起到和递归一样的效果呢?

对于

$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=<<

<<< 标识符
标识符;

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

<<< 标识符
标识符;

自定义标识符,就像字符串用 ""、'' 括起一样,这里用标识符括起
标识符 自然是自定义的,当然可以给他取个贴近内容的名字
了解,灰常感谢,但是这样写有什么作用呢?一般什么情况才会用到?我看网上说是用来转义符号,如果是这样不是可以免去很安全处理函数?但是网上资料很少。

人气教程排行