PHP yeni itti öğenin sayısal anahtarı almak nasıl?

6 Cevap php
$arr[] = $new_item;

Programlı yeni itti öğeyi almak mümkün mü?

Gerekli olmadığını unutmayın count($arr)-1:

$arr[1]=2;
$arr[] = $new_item;

Yukarıdaki durumda, bu 2

6 Cevap

max(array_keys($array))?

end(), değer döndürmek için, iş yapmak

eğer sizin için onun yardım,

Eğer key() Petch tuşuna sonra kullanabilirsiniz.

i cevap yazdı sonra, ben bu bağlantı işlevine bakın:

http://www.php.net/manual/en/function.end.php

function endKey($array){
 end($array);
 return key($array);
}

Sen deneyebilirsiniz:

max(array_keys($array,$new_item))

array_keys($array,$new_item) bir dizi olarak, $new_item değeri ile ilişkili tüm anahtarları dönecektir.

Tüm bu tuşların biz son eklenen var birinde ilgilenen ve max değerine sahip olacaktır.

Bir dizideki öğe sayısını tutmak için bir değişken kullanabilirsiniz:

$i = 0;
$foo = array();
$foo[++$i] = "hello";
$foo[++$i] = "world";

echo "Elements in array: $i" . PHP_EOL;
echo var_dump($foo);

Bu yeni oluşturulan eğer, muhtemelen elemanın bir referans tutmalı. :)

Bu gibi array_reverse kullanabilirsiniz:

$arr[] = $new_item;
...
$temp = array_reverse($arr);
$new_item = $temp[0];

Yoksa bunu yapabilirsiniz:

$arr[] = $new_item;
...
$new_item = array_pop($arr);
$arr[] = $new_item;

Eğer gibi görünüyor bir yığın olarak dizi kullanarak iseniz, çağrışımlı tuşları karıştırma kaçınmalısınız. Bu ayar içerir $arr[$n] burada $n > count($arr). Manipülasyon için array_* fonksiyonlarını kullanarak sopa ve dizinleri kullanmanız gerekir if 0 < $n < count($arr) sadece bunu. Bu şekilde, indeksler emretti ve sıralı ve sonra (eğer o değil, bir mantık hatası var) doğru olması için $arr[count($arr)-1] güvenebilirsiniz kalmalıdır.

Bunu yapmanın en güvenli yoludur:

$newKey = array_push($array, $newItem) - 1;