簡體   English   中英

使array_unique為每個重復停止

[英]make array_unique working for stop for each from repetition

每個循環我都有三個,這些都是不必要的

<?php foreach($Categories as $Category){ ?>

<div id="accordion" data-accordion="" class="left_sub_menu">
        <h3 class="accordion"><?=$Category['category_name']?></h3>              
            <div class="panel">
                <ul>
                <?php foreach($Category['Product_name'] as $product){ ?>
                <?php foreach($Category['Product_slug'] as $slug){ ?>
                <?php // $product = array_unique($product['name']); ?> 

                <li><a href="<?=Base_url()?>products/<?=$slug?>" ><?=$product;?></a></li>
                <?php } ?>
                <?php  } ?>
                </ul>
            </div>      
<?php } ?>

但是$ products重復如何阻止它重復,請幫助

輸入數組為:

[0] => Array (
    [category_name] =>Starting System
    [category_id] => 5
    [ Product_slug] => Array (
        [0] => starting_system
        [1] => pow-r-quik_air
        [2] => gali_air
        [3] => hydraulic_starter
        ....
        [8] => spring_starter
    )
    [Product_name] => Array (
        [0] => Starting System
        [1] => Pow-R-Quik Air
        [2] => Gali Air
        ...
        [8] => Spring Starter
    )
  )
) 

由於“子彈” =產品的數量,您可以對它們進行for循環。

(注意-有更好的答案,代碼可以改進很多,但這是使您前進的最簡單方法。)

<?php foreach($Categories as $Category){ ?>

<div id="accordion" data-accordion="" class="left_sub_menu">
        <h3 class="accordion"><?=$Category['category_name']?></h3>              
            <div class="panel">
                <ul>
                <?php for ($i=0; $i < count($Category['Product_name']); ++$i)){ ?>
                <?php $product = $Category['Product_name'][$i]; ?> 
                <?php $slug = $Category['Product_slug'][$i]; ?> 

                <li><a href="<?=Base_url()?>products/<?=$slug?>" ><?=$product;?></a></li>
                <?php  } ?>
                </ul>
            </div>      
<?php } ?>

編輯:只需快速重寫代碼即可。 更清楚地說明發生了什么,這將有助於調試缺少的</div>

<?php
$output = '';

foreach($Categories as $Category) {
    $numItems = count($Category['Product_name']);

    $output .= '

    <div id="accordion" data-accordion="" class="left_sub_menu">
        <h3 class="accordion">' . htmlspecialchars($Category['category_name']) . '</h3>              
        <div class="panel">
            <ul>';

    for ($i=0; $i < $numItems; ++$i) {
        if (isset($Category['Product_slug'][$i])) {
            $output .= '<li><a href="' . Base_url() . 'products/' . htmlspecialchars(urlencode($Category['Product_slug'][$i])) . '">' . htmlspecialchars($Category['Product_name'][$i]) . '</a></li>';
        }
    }

    $output .= '
            </ul>
        </div>
    </div>';      
}

echo $output;

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM