заставить array_unique работать для остановки каждого из повторов

У меня есть три для каждой петли все, что не нужно

<?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
)
)
)

0

Решение

Так как количество «слизней» = продуктов, вы можете просто сделать цикл 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;

?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector