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

php判断数组有关问题

WBOY
Freigeben: 2016-06-13 12:06:32
Original
945 Leute haben es durchsucht

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 />}
Nach dem Login kopieren

------解决思路----------------------
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;
}
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage