Heim >Backend-Entwicklung >PHP-Tutorial >求高手解读一小段无限分类代码,,,

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

WBOY
WBOYOriginal
2016-06-23 14:20:58825Durchsuche

无限分类

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=

标识符;

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

标识符;

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn