2013-06-26 3 views
0

У меня есть массив, который я прокручиваю, используя оператор foreach, только я хочу отображать первые 5 результатов. Вот начальная Еогеасп заявление:Ограничение количества результатов, отображаемых в массиве

<?php  
foreach ($scorersCount as $player => $goals) { 

$playerinfo = get_userdata($player); 
$playerteam = get_user_meta($player, 'team-meta'); 
$teamname = get_post($playerteam[0]); 
$playername = $playerinfo->user_login; 

?> 
<tr> 
     <td class="playername"><?php echo $playername ?></td> 

     <td class="teamname"><?php echo $teamname->post_title ?></td> 

     <td><?php echo $goals ?></td> 
    </tr> 

<?php } > //end foreach 

Я полагаю, я должен включать заявление во время или сделай пока stement в Еогеасп с $i <= 5, но когда я пытался сделать, что я только что получил получил первый результат в 5 раз, а чем первые 5 результатов. Может кто-нибудь, пожалуйста, покажите мне, как это сделать правильно?

ответ

1

Вы можете break петли foreach на нужное состоянии, как

<?php $index=0; 
foreach ($scorersCount as $player => $goals) { 

$playerinfo = get_userdata($player); 
$playerteam = get_user_meta($player, 'team-meta'); 
$teamname = get_post($playerteam[0]); 
$playername = $playerinfo->user_login; 

?> 
<tr> 
     <td class="playername"><?php echo $playername ?></td> 

     <td class="teamname"><?php echo $teamname->post_title ?></td> 

     <td><?php echo $goals ?></td> 
    </tr> 

<?php $index++; 
if($index=== 5) { 
     break;  
    } 
} ?> 
+0

Спасибо за ваш ответ. Я пошел с более ранним, поскольку все, что мне нужно было сделать, это изменить мое время на if. Есть ли какая-то особая причина, что лучше использовать 'break'or, это просто личное предпочтение? – mantis

+0

В моем случае цикл будет выполняться всего 5 раз, но в случае ответа @vulkoingim вы проведете цикл 5 раз, но запустите для каждого значения массива, скажем, если массив имеет 100 значений, тогда цикл выполняется 100 раз, но в моем случае цикл будет работать 5 раз вы можете увидеть разницу в производительности –

+0

Я вижу. В этом есть смысл. – mantis

0

Вы можете также использовать array_chunk

$scorersCount = array_chunk($scorersCount,5,true); 
foreach ($scorersCount[0] as $player => $goals) {