Bunu başarmanın en iyi yolu nedir?
Bunu başarmanın en iyi yolu nedir?
Yanıtlar:
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');
Array_slice'ı şu şekilde kullanabilirsiniz :
$sliced_array = array_slice($array,0,$N);
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.
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));
?>
ilk N öğelerini alıp diziden kaldırmak istiyorsanız, şunu kullanabilirsiniz array_splice()("ek" içindeki "p" yi not edin):
http://docs.php.net/manual/da/function.array-splice.php
şöyle kullanın: $array_without_n_elements = array_splice($old_array, 0, N)