ホームページ  >  記事  >  バックエンド開発  >  隣接しないデータを表示する

隣接しないデータを表示する

WBOY
WBOYオリジナル
2016-06-13 12:04:001065ブラウズ

隣接しないデータを表示

この投稿は、lazygc520 によって最終編集されました: 2014-08-05 14:02:30 既知の $arrs、
<br />array (<br />  0 => <br />  array (<br />    'pono' => 'a',<br />    'no' => '4711',<br />  ),<br />  1 => <br />  array (<br />    'pono' => 'a',<br />    'no' => '4714',<br />  ),<br />  2 => <br />  array (<br />    'pono' => 'b',<br />    'no' => '4714',<br />  ),<br />  3 => <br />  array (<br />    'pono' => 'b',<br />    'no' => '4715',<br />  ),<br />  4 => <br />  array (<br />    'pono' => 'c',<br />    'no' => '4715',<br />  ),<br />  5 => <br />  array (<br />    'pono' => 'c',<br />    'no' => '4716',<br />  ),<br />)<br />


現在のマージpono を使用したデータを取得すると、次のようになります。
<br />$tmp=array();<br />$data=array();<br />$i=0;<br />foreach($arrs as $key=>$arr){<br />		if(!empty($tmp) && array_key_exists($arr['pono'],$tmp)){<br />        $key=$tmp[$arr['pono']];<br />        $arr_no=explode(',',$data[$key]['no']);<br />        if(!in_array($arr['no'],$arr_no)) $data[$key]['no'].=','.$arr['no'];<br />    }else{<br />        $tmp[$arr['pono']]=$i;<br />        $data[$i++]=$arr;<br />    }<br />}<br />print_r($data);<br /><br />//得到结果:<br />Array<br />(<br />    [0] => Array<br />        (<br />            [pono] => a<br />            [no] => 4711,4714<br />        )<br /><br />    [1] => Array<br />        (<br />            [pono] => b<br />            [no] => 4714,4715<br />        )<br /><br />    [2] => Array<br />        (<br />            [pono] => c<br />            [no] => 4715,4716<br />        )<br />)<br />


次に、例の項目など、隣接しない no のみを表示します。
[0] => Array
( [pono] = & gt; a
[no] = & gt; 4711,4714


どうやって尋ねますか?

------解決策----------------------
$arrs = array ( <br> 0 => <br> 配列 (<br> 'pono' => 'a',<br> 'no' => '4711',<br> ),<br> 1 => ; <br> 配列 (<br> 'pono' => 'a',<br> 'no' => '4714',<br> )、<br> 2 => 配列 ( 'pono' => 'b',<br> 'no' => '4714',<br> ),<br> 3 => 配列 (<br> 'pono' => ; 'b',<br> 'no' => '4715',<br> ),<br> 4 => <br> 配列 (<br> 'pono' => 'c',<br> 'no' => '4715',<br> ),<br> 5 => <br> 配列 (<br> 'pono' => 'c',<br> 'no' => ' 4716',<br> ),<br>);<br><br><br>$tmp=array();<br>$data=array();<br>$i=0;<br> foreach($arrs as $key=>$arr){<br> if(!empty($tmp) && array_key_exists($arr['pono'],$tmp)){<br> $key=$tmp [ $arr['pono']];<br> $arr_no=explode(',',$data[$key]['no']);<br> if(!in_array($arr['no'] , $arr_no)) $data[$key]['no'].=','.$arr['no'];<br> }else{<br> } $tmp[$arr['pono']] =$i;<br> $data[$i ]=$arr;<br> }<br>}<br>print_r($data);<br><br>$result = array();<br> <br>foreach($data as $val){<br> list($a, $b) =explode(',', $val['no']);<br><br>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。