Menu

PHP array_push(): Diziye Eleman Ekleme

array_push($arr, $value) bir dizinin sonuna bir veya daha fazla değer ekler; $arr[] = $value tek bir değer için aynı işi yapar ve daha hızlıdır. Bir dizinin sonuna, başına veya ortasına eleman eklemeyi, anahtar ve değer eklemeyi ve klasik dönüş değeri hatasından kaçınmayı öğrenin.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

array_push($arr, $value) bir dizinin sonuna bir değer ekler. Tek bir değer için $arr[] = $value; kısayolu aynı işi fonksiyon çağrısı olmadan yapar ve PHP kodlarının çoğu bunu kullanır. İkisi de diziyi yerinde değiştirir.

array_push() diziyi referansla alır, bu yüzden verdiğiniz değişkeni değiştirir. Yeni eleman sayısını döndürür, bunu yok sayabilirsiniz.

array_push ile $arr[] = karşılaştırması

Tek bir değer için $arr[] = $value kullanın: daha kısadır ve büyük bir döngüde birikecek fonksiyon çağrısından kaçınır. Tek bir deyimde eklenecek birkaç değeriniz ya da açılacak bir değer listeniz olduğunda array_push() kullanın.

$arr[] = henüz var olmayan bir değişkende de çalışır: PHP diziyi oluşturur. array_push() var olan bir dizi ister: tanımsız bir değişkende TypeError: array_push(): Argument #1 ($array) must be of type array, null given fırlatır.

Anahtar ve değer ekleme

array_push() yalnızca bir sonraki tam sayı anahtarla değer ekler. Adlandırılmış bir anahtar eklemek için ona atama yapın. Aynı anda birkaç çift eklemek için += (var olan anahtarları korur) veya array_merge() (yeni değerlerin kazanmasını sağlar) kullanın.

Anahtarlar çakıştığında + ile array_merge() arasındaki fark array_merge sayfasında anlatılıyor.

Başa ekleme: array_unshift

array_unshift($arr, $value) başa ekler. Tam sayı anahtarlar yeniden numaralanır, böylece yeni değer 0 indeksini alır; dizge anahtarlar olduğu gibi kalır. array_push() gibi birkaç değer kabul eder ve yeni sayıyı döndürür.

Adlandırılmış bir çifti başa koymak için yeni bir dizi oluşturun: $menu = ['login' => '/login'] + $menu;.

Belirli bir konuma ekleme

array_splice($arr, $offset, 0, $values) hiçbir şey silmeden ekler: $offset konumundan başlar, 0 eleman siler ve yeni değerleri oraya koyar. Ekleme noktasından sonraki tam sayı anahtarlar yeniden numaralanır.

array_splice() elemanları silebilir ve değiştirebilir de; eleman silme sayfası bu biçimleri gösterir.

Başka bir diziyi ekleme

array_push($a, $b) $b dizisini tek bir iç içe eleman olarak ekler, bu nadiren istenen şeydir. $b değerlerini tek tek eklemek için onları açın ya da açma söz dizimi veya array_merge() ile yeni bir dizi oluşturun.

Sık yapılan hata: dönüş değerini atamak

array_push() bir sayı, yani yeni eleman sayısını döndürür. Bunu dizi değişkenine geri atamak dizinizi bir tam sayıyla değiştirir ve onun üzerindeki bir sonraki array_push() bir TypeError fırlatır.

Aynısı array_unshift() ve true döndüren sort() için de geçerlidir. Bir diziyi yerinde değiştiren fonksiyonlar diziyi değil bir durum değeri döndürür.

Sıkça Sorulan Sorular

PHP'de array_push ile $arr[] arasındaki fark nedir?

İkisi de sona ekler. $arr[] = $x; fonksiyon çağrısı olmadan tek bir değer ekler, bu yüzden olağan seçimdir ve biraz daha hızlıdır. array_push($arr, $a, $b, $c) aynı anda birkaç değer eklediğinizde kullanışlıdır ve yeni eleman sayısını döndürür.

PHP'de bir diziye anahtar ve değer nasıl eklerim?

Anahtara atama yapın: $arr['color'] = 'blue';. array_push() bunu yapamaz çünkü her zaman bir sonraki tam sayı anahtarı kullanır. Aynı anda birkaç çift eklemek için $arr += ['a' => 1, 'b' => 2]; veya array_merge() kullanın.

PHP'de bir dizinin başına nasıl eleman eklerim?

array_unshift($arr, $value) kullanın. Tam sayı anahtarları yeniden numaralar, böylece yeni değer 0 indeksini alır; dizge anahtarlar olduğu gibi kalır.

array_push sonrasında dizim neden bir sayıya dönüşüyor?

Çünkü array_push() diziyi değil yeni eleman sayısını döndürür. $arr = array_push($arr, 'x'); yazmak diziyi o sayıyla değiştirir. Onu kendi satırında çağırın: array_push($arr, 'x');.

Coddy programlama dilleri çizimi

Coddy ile kodlamayı öğren

BAŞLA