Home > Backend Development > PHP Tutorial > 求高手解读一小段无限分类代码,,,

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

WBOY
Release: 2016-06-23 14:20:58
Original
825 people have browsed it

无限分类

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追加值	}} 
Copy after login
Copy after login

对于

$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 ),);
Copy after login
Copy after login

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

对于

$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 ),);
Copy after login
Copy after login

$rows[$item['pid']][$item['id']] = &$rows[$item['id']]; 的作用就是这样


前提是数组 $rows 的键与 id 相同
版主经常写这样的代码:$sql=

标识符;

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

标识符;

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template