Когда я нажимаю Linuxbasics, если страница по умолчанию там открыта. Я получаю страницу по умолчанию, но мой li зацикливается. Из моего кода я использовал многомерный массив. Ниже мой код и image.I показано в Image Я получаю основы Linux дважды: Как остановить цикл foreach для суб-курсов?
<ul class="sub-menu" style="border-right: 2px solid #;">
<?php foreach($outContentArrResults AS $keyCmsId => $valArrMenu){?>
<?php if($valArrMenu['cPId']==0){?>
<li class="menu-item-has-children">
<a href="#"><?php echo isset($valArrMenu['cName']) ? $valArrMenu['cName']:'';?></a>
<?php $slugName = isset($valArrMenu['cSName']) ? $valArrMenu['cSName']:'';
$id =isset($valArrMenu['cId']) ? $valArrMenu['cId']:'';
$courseChild =isset($valArrMenu['courseChild']) ? $valArrMenu['courseChild']:'';?>
<?php foreach($courseChild AS $keyId => $courseResult){
if($courseResult['cPId']==$id){?>
<ul class="sub-menu" style="border-right: 2px solid #;border-left: 2px solid #;">
<?php foreach($courseChild AS $keyId => $courseResult){?>
<?php if($courseResult['cPId']==$id){?>
<?php $courseSubChild =isset($courseResult['courseChild']) ? $courseResult['courseChild']:'';
foreach($courseSubChild AS $keyIdsss => $courseSubResult){
$Subid =isset($courseSubResult['cId']) ? $courseSubResult['cId']:'';
$SubslugName =isset($courseSubResult['cSName']) ? $courseSubResult['cSName']:'';?>
<li>
<a href="<?php echo $config['LIVE_URL'];?>courses/<?php echo isset($slugName) ? $slugName :'';?>/<?php echo isset($courseResult['cSName']) ? $courseResult['cSName']:'';?>/<?php echo $SubslugName;?>/<?php echo isset($courseSubResult['conSName']) ? $courseSubResult['conSName']:'';?>"><?php echo isset($courseResult['cName']) ? $courseResult['cName']:'';?></a>
</li>
<?php }?>
<?php }?>
<?php }?>
</ul>
<?php }?>
<?php }?>
</li>
<?php }?>
<?php }?>
Вот мой массив:
Array
(
[0] => Array
(
[cId] => 1
[cName] => Linux
[cSName] => linux
[isTryItEditor] => 0
[cImg] =>
[cCDate] => 2016-08-10 11:47:53
[cPId] => 0
[conSName] =>
[conIDPage] =>
[courseChild] => Array
(
[0] => Array
(
[cId] => 2
[cName] => Linux Basics
[cSName] => linux-basics
[isTryItEditor] => 0
[cImg] =>
[cCDate] => 2016-08-10 11:48:51
[cPId] => 1
[conSName] =>
[conIDPage] =>
[courseChild] => Array
(
[0] => Array
(
[cId] => 4
[cName] => basic commands
[cSName] => basic-commands
[isTryItEditor] => 0
[cImg] =>
[cCDate] => 2016-08-10 11:56:41
[cPId] => 2
[conSName] => hii
[conIDPage] => 1
[courseChild] => Array
(
)
)
[1] => Array
(
[cId] => 3
[cName] => Filter commands
[cSName] => filter-commands
[isTryItEditor] => 0
[cImg] =>
[cCDate] => 2016-08-10 11:49:14
[cPId] => 2
[conSName] =>
[conIDPage] =>
[courseChild] => Array
(
)
)
)
)
)
)
)
Где вы хотите остановить цикл, просто используйте оператор break. –
ваш код - ад. однако, если я правильно ее заметил, ваш самый внутренний цикл печатает неправильные вещи. – Jakumi
Почему вы положили флаг C? Я не вижу здесь кода С. – Tim