Bir PHP dizisindeki son n öğeleri başka bir dizi olarak nasıl edinilir?


23

PHP'de başka bir dizinin son n öğelerini nasıl alabilirim?

39

$n, sondan istediğiniz öğelerin sayısına eşittir.

$arr = array_slice($old_arr, -$n); 
+1

Teşekkür ederiz! Bu fonksiyonu bulamadım. 28 ağu. 102010-08-28 18:14:16


0

http://us2.php.net/array_slice'u kullanabilirsiniz.

$new = array_slice($old, $n); 

Ancak $n böylece dizisinin uzunluğundan bu çıkarmak gerekir, bunu hesaplamak, dilim başlamak için ofset geçerli: $n = count($old) - $target_size.

+4

Veya bağladığınız belgeleri okuyun ve dizinin sonunda negatif ofsetlerin başladığını fark edin. Eğer ofset negatif değilse, dizi dizide bu ofsetde başlayacaktır. Ofset negatif ise, dizi dizinin sonuna kadar başlayacaktır. 28 ağu. 102010-08-28 18:16:06


3

Sen array_slice kullanabilirsiniz:

$arr = array_slice($old_arr, -$n, $n, true); 

dizi endeksleri sizin için anlamlı ise

, array_slice sıfırlamak ve sayısal dizi indeksleri yeniden düzenlemek unutmayın. Bunu önlemek için preserve_keys bayrağına (4. parametre) true olarak ayarlamanız gerekir.