Heim >Backend-Entwicklung >PHP-Tutorial >php判断数组有关问题

php判断数组有关问题

WBOY
WBOYOriginal
2016-06-13 12:06:32946Durchsuche

php判断数组问题

本帖最后由 hxlb520 于 2014-09-19 08:53:23 编辑 我想在foreach()循环中只显示没有下级的大栏目(例如只显示代码中的大栏目一,大栏目四),有下级栏目的不显示 ,如何判断呢?

cid=栏目ID,name=栏目名称,parent_cid=子栏目的上级栏目ID

{"seller_cat":[
{"cid":"1","name":"大栏目一","parent_cid":"0"},
{"cid":"2","name":"大栏目二","parent_cid":"0"},
{"cid":"3","name":"子栏目二","parent_cid":"2"},
{"cid":"4","name":"子栏目三","parent_cid":"2"},
{"cid":"5","name":"大栏目三","parent_cid":"0"},
{"cid":"6","name":"子栏目一","parent_cid":"5"},
{"cid":"7","name":"大栏目四","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;
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn