Yanıtlar:
array_slice bir dizinin bir dilimini döndürür
$sliced_array = array_slice($array, 0, 5)
davanızdaki ilk beş öğeyi döndürmek istediğiniz koddur
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice döndürür ". Ama cevabımı biraz daha açık hale getirmek için düzenleyeceğim.
array_splice - Dizinin bir bölümünü kaldırın ve başka bir şeyle değiştirin:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
PHP kılavuzundan:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Eğer uzunluk verilmemişse dizinin sonuna ofset, her şeyi kaldırır . Uzunluk belirtilir ve pozitifse, o zaman birçok öğe kaldırılır. Uzunluk belirtilirse ve negatifse, kaldırılan bölümün sonu, dizinin sonundaki birçok öğedir. İpucu: değiştirme belirtildiğinde, dizinin sonuna kadar her şeyi kaldırmak için uzunluk için count ($ input) kullanın.
Sadece ilk 5 öğenin çıktısını almak istiyorsanız, şöyle bir şey yazmalısınız:
<?php
if (!empty ( $an_array ) ) {
$min = min ( count ( $an_array ), 5 );
$i = 0;
foreach ($value in $an_array) {
echo $value;
$i++;
if ($i == $min) break;
}
}
?>
Dizinin bir bölümünü döndüren bir işlev yazmak istiyorsanız, array_slice kullanmalısınız:
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
Daha nesneye yönelik bir yol, # [] yöntemine bir aralık sağlamak olacaktır. Örneğin:
Bir dizideki ilk 3 öğeyi istediğinizi varsayalım.
sayılar = [1,2,3,4,5,6]
sayılar [0..2] # => [1,2,3]
Bir dizideki ilk x öğeyi istediğinizi varsayalım.
numaraları [0..x-1]
Bu yöntemle ilgili en iyi şey, dizinin sahip olduğundan daha fazla öğe istemeniz, dizinin tamamını döndürmesidir.
sayılar [0..100] # => [1,2,3,4,5,6]