ホームページ >バックエンド開発 >PHPチュートリアル >PHPでの配列の判断に関する問題

PHPでの配列の判断に関する問題

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

PHPの配列判定問題

この投稿の最終編集者はhxlb520 on 2014-09-19 08:53:23 foreach()ループ内で配下を持たない大きな列だけを表示したい(例えば、表示コードのみ 大列1、大列4)に表示されない下位列がありますが、どのように判断すればよいでしょうか?

cid=列 ID、name=列名、parent_cid=サブ列の親列 ID

{"seller_cat":[
{"cid":"1","name ":"大きな列 1","parent_cid":"0"},
{"cid":"2","name":"大きな列 2","parent_cid":"0"},
{"cid":"3","name":"サブ列 2","parent_cid":"2"},
{"cid":"4","name":"サブ列three" ,"parent_cid":"2"},
{"cid":"5","name":"大きな列 3","parent_cid":"0"},
{"cid" :" 6","name":"サブ列 1","parent_cid":"5"},
{"cid":"7","name":"大きな列 4","parent_cid": "0 "}
]}}
-----ソリューションのアイデア----------------------
クラスメソッドは以下を参照してください。
$a = json_decode($s);<br />$ar = array();<br />foreach($a->seller_cat as $t) {<br />  if($t->parent_cid == 0 && ! array_filter($a->seller_cat, array(new T($t->cid), 'filter')))<br />    $ar[] = $t->name;<br />}<br />print_r($ar);<br />class T {<br />        private $cid;<br /><br />        function __construct($cid) {<br />                $this->cid = $cid;<br />        }<br /><br />        function filter($v) {<br />                return $v->parent_cid == $this->cid;<br />        }<br />}

-----ソリューションのアイデア----------------------
foreach( $a->seller_cats->seller_cat as $t) {
if($t->parent_cid == 0 && ! array_filter($a->seller_cats->seller_cat, array(new T($ t->cid), 'filter')))
$ar[] = $t->name;
}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。