2015-12-01 3 views
0

У меня есть этот массив:Как выводить все элементы массива после определенного элемента?

$arr = array(1, 2, 3, 4, 5, 6, 7, 8); 

Это 8 значение, я хочу, чтобы вывести все значения после пятого значения, которое 5.

поэтому я хочу, чтобы вывести:

6 7 8 

Это мой код:

<?php 
$arr = array(1, 2, 3, 4, 5, 6, 7, 8); 

$i = 0; 
while ($i < count($arr)) { 
    $a = $arr[$i]; 
    echo $a ."\n"; 
    $i++; 
} 

?> 
+0

use array_slice(); – CodeLove

ответ

0

rray_slice или начать свою петлю от желаемого индекса:

<?php 
$arr = array(1, 2, 3, 4, 5, 6, 7, 8); 

$i = 5; 
while ($i < count($arr)) { 
    $a = $arr[$i]; 
    echo $a ."\n"; 
    $i++; 
} 

?> 
+0

Это работает, но вы можете объяснить :) – uno

+0

Какое объяснение вам нужно, о массивах или циклах? –

+0

о петлях – uno

0

Использование array_slice()

$arr = array(1, 2, 3, 4, 5, 6, 7, 8); 

$output = array_slice($arr, 0, 3); 
0
<?php 
$arr = array(1, 2, 3, 4, 5, 6, 7, 8); 
$arr = array_slice($arr,5); 
$i = 0; 
while ($i < count($arr)) { 
    $a = $arr[$i]; 
    echo $a ."\n"; 
    $i++; 
} 

?> 
+0

Это работает, но вы можете объяснить :) – uno

+0

array slice используется для среза массива, я нарезал сначала 5 значений из массива. $ arr = array_slice ($ arr, 5); –

+0

подробнее объяснение здесь http://www.w3schools.com/php/func_array_slice.asp, если мой ответ решает вашу проблему, пожалуйста, примите :) –

0
<?php 
    $arr = array(1, 2, 3, 4, 5, 6, 7, 8); 

    $i = 5; 
    while ($i < count($arr)) { 
     $a = $arr[$i]; 
     echo $a ."\n"; 
     $i++; 
    } 

?> 
+0

Это работает, но вы можете объяснить :) – uno

+0

вы только начинаете с индекса 5, назначая $ I = 5. –

-2

Просто используйте array_slice наряду с implode функции вроде как

$arr = array(1, 2, 3, 4, 5, 6, 7, 8); 
echo implode("\n",array_slice($arr,5)); 

Если вы тестировали его в браузере, который вы просто заменить \n вместе с <br/>

Demo

+0

Downvoters публикуют причину downvoting –

Смежные вопросы