Bir dizinin ilk N öğesini al?


Yanıtlar:


362

Array_slice () kullanın

Bu PHP el kitabından bir örnek : array_slice

$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

Sadece küçük bir sorun var

Dizi indeksleri sizin için anlamlıysa, array_slicebunun sayısal dizi indekslerini sıfırlayacağını ve yeniden sıralayacağını unutmayın . Bundan kaçınmak için preserve_keysbayrağın ayarlanmış olması gerekir true. (4. parametre, 5.0.2'den beri kullanılabilir).

Misal:

$output = array_slice($input, 2, 3, true);

Çıktı:

array([3]=>'c', [4]=>'d', [5]=>'e');


12

Mevcut sırada mı? Array_slice () diyebilirim . Yerleşik bir işlev olduğundan, N'ye kadar bir artış endeksini takip ederken dizi boyunca döngüden daha hızlı olacaktır.


4

array_slice () denemek için en iyi şey, aşağıdaki örnekler:

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.