Php 重复列表

Php 重复列表,php,simplexml,Php,Simplexml,以下是我将所有类别列为列表项的代码: if ($xml) { foreach($xml->children() as $IRXML) { // SHOW ONLY 5 NEWS ITEMS foreach($IRXML->children() as $newsrelease) {

以下是我将所有类别列为列表项的代码:

if ($xml) {
    foreach($xml->children() as $IRXML) {                                                                           // SHOW ONLY 5 NEWS ITEMS

        foreach($IRXML->children() as $newsrelease) {                                               // EACH NEWSRELEASE IS ONE SUBCHILD

            // echo "   <div class='news-image'>";
            // echo "<img src='/wp-content/themes/bby/images/news-story-01.jpg' alt=''>";
            // echo "</div>";

            $categories = $newsrelease->Categories;
            foreach($categories->children() as $category) {
                if ($category != "NA") {
                    echo "<li class='category ".$category."'>".$category."</li> ";
                }
            }

        }
    }

}
if($xml){
foreach($xml->children()作为$IRXML){//只显示5条新闻
foreach($IRXML->children()作为$newslease){//每个newslease都是一个子孩子
//回声“;
//回声“;
//回声“;
$categories=$newslease->categories;
foreach($categories->children()作为$category){
如果($category!=“NA”){
回显“
  • $categories=$newslease->categories;
    $seen_categories=array();
    foreach($categories->children()作为$category){
    如果($category!=“NA”&&!在数组中($category,$seen\u categories)){
    $SEED_categories[]=$categories;
    回显“
  • “$category.
  • ”; if(!in_数组($print_category,$list_cache))//检查您以前是否在此数组中存储了in。在这种情况下,in_数组将返回true。 { $list\u cache[]=$print\u类别; echo$print_类别; } } } } }

    查看文档中的函数

    啊,错过了那条路,我的坏:)@AJ::-)……但可能它的名字应该改一下,不是很有意义的名字。
    $list_cache = array();
    
    if ($xml)
    {
        foreach($xml->children() as $IRXML) 
    
        foreach($IRXML->children() as $newsrelease) 
        {
    
            $categories = $newsrelease->Categories;
    
            foreach($categories->children() as $category)
            {
                if ($category != "NA")
                {
                    $print_category = "<li class='category ".$category."'>".$category."</li> ";
    
                    if( !in_array($print_category, $list_cache) )    //check if you've stored in previously in this array. In such case, in_array will return true. 
                    {
                        $list_cache[] = $print_category;
                        echo $print_category;
                    }
                }
            }
        }
    }