Как ограничить элементы из цикла? - PullRequest
0 голосов
/ 01 февраля 2012

Как ограничить элементы для цикла

<?php               
     for ($i=0; $i< count($contentdinamit["chart"]["songs"]["song"]); $i++ ) {
         echo'<li class="up"><a href="'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["artist_name"].'"><strong>'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["song_name"].'</strong></a><br /><a href="'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["artist_name"].'">'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["artist_name"].'</a></li>';
    }
 ?>

Ответы [ 6 ]

1 голос
/ 01 февраля 2012

Если вы хотите только n записей, ограничьте количество записей, полученных из Mysql, используя

select * from table_name limit $max;
1 голос
/ 01 февраля 2012

Не знаю, что вы там имеете в виду.Но вот что я понимаю из вашего вопроса

<?php     

     for ($i=0; $i< count($contentdinamit["chart"]["songs"]["song"]); $i++ ) {

     if(($i+1)<=10){//limit your item by 10
         echo'<li class="up"><a href="'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["artist_name"].'"><strong>'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["song_name"].'</strong></a><br /><a href="'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["artist_name"].'">'
             .$contentdinamit["chart"]["songs"]["song"]["$i"]["artist_name"].'</a></li>';
    }
}
 ?>
0 голосов
/ 01 февраля 2012

Установить предел цикла равным 10 для ($ i = 0; $ i <= 10; как это работает? </p>

Чтобы установить предел циклов, необходимо указать количество циклов вloop continuation condition;

for ($i=0; $i <= 10; $i++ ) {

}
0 голосов
/ 01 февраля 2012

Если вы чувствуете, что ваш код выдает слишком много выходных данных, выполните в цикле что-то вроде:

if($i > 10)// 10 is your limit.
     break;
0 голосов
/ 01 февраля 2012

Вы имеете в виду, как ограничить вывод?Просто настройте цикл for так, чтобы он отображал столько записей, сколько вы хотите, а не зацикливание до тех пор, пока не будет достигнут счетчик вашего массива.Скажем, вы хотите только 5 предметов, а затем просто сделайте это:

$maximum = 5; // Set whatever number you want here as a maximum, and then...
for($i = 1;$i <= $maximum;$i++) {
    // Echo goes here
}
0 голосов
/ 01 февраля 2012

Ограничить до 20 предметов.Попробуйте

$limit = min(20, count($contentdinamit["chart"]["songs"]["song"]));
for ($i=0; $i < $limit; $i++ )
...