ホームページ >バックエンド開発 >PHPチュートリアル >専門家に無限の分類コードの短い部分を解釈してもらう、、、

専門家に無限の分類コードの短い部分を解釈してもらう、、、

WBOY
WBOYオリジナル
2016-06-23 14:20:58825ブラウズ

無制限の分類

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']]; これがその動作です


前提は次のとおりです配列 $ 行のキーは id と同じです
モデレータはよく次のようなコードを書きます: $sql=<<

<<< 識別子

文字列が "", '' で囲まれているのと同じように、ここでは識別子で囲まれています
識別子は自然にカスタマイズされます。コンテンツに近い名前

<<< 識別子


カスタム識別子、""、'' で囲まれた文字列と同じように、ここでは識別子を使用します
識別子は当然カスタマイズできます。内容に近い名前ですね
分かりました、ありがとうございます、でもこんなこと書いて何の役に立つのでしょう?これは通常どのような状況で使用されますか? シンボルをエスケープするために使用されるとインターネットで読みました。その場合、それは安全な処理関数ではないでしょうか?しかしネット上には情報がほとんどありません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。