2012-01-26 20 views
19

$array öğesinin son öğesinin değerini almak için aşağıdakileri kullanabilirim. Bu öğeye nasıl başvuru yapabilirim?Dizinin son öğesine bir başvuru alma

$last_item = end($array); 

$array öğeleri dizinli dizilerdir.

+0

http: //www.php .net/manual/tr/function.end.php # 24804 –

cevap

35
end($array); 
$referenceToLastElement = &$array[key($array)]; 
+0

Bu ilginç. Kabul edilen cevaptaki yaklaşıma göre daha iyi performans gösterip göstermeyeceğini merak ediyorum. –

+1

@EmanuilRusev: Herhangi bir dizide düzgün çalıştığı için daha iyi performans gösterir. – Jon

+0

Bu, count() yönteminden daha mı hızlıdır? –

-1
list($last_key,$last_value) = each(array_slice($array,-1,1,true)); 

Girişimi 2 numaralı?

$last_item = &$array[array_pop(array_keys($array))]; 

Bu, dizinin son elemanına değişken bir başvuruda bulunur.

+0

Anlamadım. Ne son elementin ne de değerinin ne olduğuna ihtiyacım yok - sadece referans. –

+0

"Sadece referans" ile ne demek istediğini anladığımdan emin değilim. Başka bir deneyeceğim. Düzenle'ye bakın. –

2

count() size dizinin son elemanına bir başvuru almak için bazı basit aritmetik geçerlidir dizi uzunluğunu verecektir:

$array = array(
    array('jkl' => '456'), 
    array('abc' => '456'), 
); 
print_r($array); 
$last_item = &$array[count($array) - 1]; 
$last_item['abc'] = '123'; 
print_r($array); 
+0

Bu, benim beklediğim bir cevaptı. –

+0

Sorun değil, yardımcı olmaktan mutluluk! – leepowers

+7

Bu, yalnızca dizinin 0'dan başlayan bir kesintisiz tamsayı dizisi ile indekslenmesi durumunda çalışır - büyük "if". – Jon

İlgili konular