У меня есть три для каждой петли все, что не нужно
<?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;
?>
Других решений пока нет …