PHP配列の組み合わせの問題?

WBOY
WBOYオリジナル
2016-06-23 13:54:21764ブラウズ

//如何把下面这个这个数组$arr=array(0=>array('id'=>1,'pid'=>),1=>array('id'=>208,'pid'=>),2=>array('id'=>3,'pid'=>208)3=>array('id'=>4,'pid'=>208));变成这样的形式的$arr=array(0=>array('id'=>1,'pid'=>),1=>array('id'=>208,'pid'=>,'str'=>array(             0=>array(  'id'=>1,'pid'=>208),             1=>array('id'=>4,'pid'=>208))));


ディスカッションへの返信 (解決策)

http://bbs.csdn.net/topics/370094009

$brr=array();foreach($arr as $k=>$v){	if( empty($v['pid']) )		if( isset($brr[$v['id']]) )		{			$brr[$v['id']][]=$v['id'];			$brr[$v['id']][]=$v['pid'];		}else			$brr[$v['id']]=$v;	else{		if(!isset($brr[$v['pid']]))			$brr[$v['pid']]=array();		$brr[$v['pid']]['str'][]=$v;	}}sort($brr);

http://bbs.csdn.net/topics/370094 009



モデレーターが得た結果はこんな感じです。 4で作ったものは208に配置されているので不要になったので削除した方が良いです
Array(    [1] => Array        (            [id] => 1            [pid] =>         )    [4] => Array        (            [id] => 4            [pid] => 208        )    [208] => Array        (            [id] => 208            [pid] =>             [child] => Array                (                    [4] => Array                        (                            [id] => 4                            [pid] => 208                        )                )        ))

$brr=array();foreach($arr as $k=>$v){	if( empty($v['pid']) )	{		if( !isset($brr[$v['id']]) )			$brr[$v['id']]=$v;	}else{		if(!isset($brr[$v['pid']]))			$brr[$v['pid']]=array();		$brr[$v['pid']]['str'][]=$v;	}}sort($brr);

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