Menu

PHP implode(): Dizi Elemanlarını Bir Dizgede Birleştirme

implode(', ', $array) bir dizinin değerlerini aralarına bir ayırıcı koyarak tek bir dizgede birleştirir. Anahtarlarla implode, ilişkisel diziler, HTML listeleri oluşturma ve implode ile join arasındaki farkı öğrenin.

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

implode($separator, $array) bir dizinin değerlerini her çiftin arasına $separator koyarak tek bir dizgede birleştirir: implode(', ', ['red', 'green', 'blue']) "red, green, blue" döndürür.

Ayırıcı yalnızca elemanların arasına gelir, asla ilkinden önce veya sonuncudan sonra değil. Bir dizgeyi diziye bölen explode() fonksiyonunun tersidir.

Söz dizimi

implode(string $separator, array $array): string
implode(array $array): string   // separator defaults to ""

Önce ayırıcı gelir. Eski kodlar bazen diziyi önce verirdi: implode($array, ', '). Bu sıra PHP 7.4'te kullanımdan kaldırıldı ve PHP 8.0'da tamamen silindi; orada TypeError: implode(): Argument #2 ($array) must be of type ?array, string given fırlatır.

implode ile join karşılaştırması

join(), implode() fonksiyonunun bir takma adıdır. Aynı argümanları alır ve aynı dizgeyi döndürürler, bu yüzden birini seçin ve tutarlı kalın.

Sayılara, boolean değerlere ve null değerine ne olur

Her değer önce bir dizgeye çevrilir. Sayılar beklediğiniz gibi yazdırılır, true "1" olur, false ve null ise boş dizge olur ve art arda iki ayırıcı bırakır.

İlişkisel bir diziyi implode etme

implode() anahtarları yok sayar ve yalnızca değerleri birleştirir. key=value çiftleri elde etmek için her parçayı anahtarlar ve değerler üzerinde array_map() ile oluşturun, sonra birleştirin. http_build_query() bir URL sorgu dizgesi için aynısını yapar ve ayrıca boşlukları ve özel karakterleri kodlar.

Aynı kalıp yalnızca anahtarları birleştirir: implode(', ', array_keys($user)). Anahtarlar ve değerler hakkında daha fazlası ilişkisel diziler sayfasında.

Yeni satırla birleştirme veya HTML liste oluşturma

Ayırıcı herhangi bir dizge olabilir. "\n" (çift tırnak) her değeri kendi satırına koyar; metin dosyaları ve komut satırı çıktısı için kullanışlıdır. Ayırıcı olarak HTML etiketleriyle implode() tek satırda bir liste oluşturur. Sonraki bloğu çalıştırın, Page sekmesi oluşturulan listeyi gösterir.

Birleştirmeden önce her değeri htmlspecialchars() ile kaçışlamak <b> gibi bir değerin işaretlemeye dönüşmesini önler.

Son öğeden önce "ve" ile birleştirme

İnsanın okuyacağı bir liste genellikle son elemandan önce "ve" ister. Onu çıkarın, geri kalanı birleştirin, sonra geri ekleyin:

Sık yapılan hata: iç içe diziler

implode() tek seviyede çalışır. Kendisi dizi olan bir eleman Array kelimesine çevrilir ve PHP bir uyarı yazdırır:

<?php
echo implode(', ', ['red', ['orange', 'yellow']]);
Warning: Array to string conversion in /home/index.php on line 2
red, Array

İç dizileri önce düzleştirin ya da her birini ayrı ayrı birleştirin:

Sıkça Sorulan Sorular

PHP'de implode() ne işe yarar?

Bir dizinin değerlerini aralarına ayırıcı koyarak tek bir dizgede birleştirir: implode(', ', ['a', 'b', 'c']) "a, b, c" döndürür. explode() fonksiyonunun tersidir.

implode() ile join() arasındaki fark nedir?

Hiçbiri. join(), implode() fonksiyonunun bir takma adıdır: aynı argümanlar, aynı sonuç. Kodların çoğunda göreceğiniz isim implode() olur.

İlişkisel bir diziyi anahtarlarıyla nasıl implode ederim?

implode() yalnızca değerleri kullanır. Anahtarları dahil etmek için önce parçaları oluşturun: implode(', ', array_map(fn($k, $v) => "$k=$v", array_keys($a), $a)). Bir URL sorgu dizgesi için http_build_query($a) bunu tek çağrıda yapar.

PHP 8'de implode() neden TypeError veriyor?

Çünkü argümanlar eski sıradadır. implode($array, ', ') PHP 7.4'te kullanımdan kaldırıldı ve PHP 8.0'da tamamen silindi. Önce ayırıcıyı yazın: implode(', ', $array).

PHP'de bir diziyi virgülle ayrılmış bir dizgeye nasıl çeviririm?

implode(',', $array). Her virgülden sonra bir boşluk istiyorsanız ayırıcı olarak ', ' kullanın. Bir CSV dosyası için virgül içeren değerleri tırnak içine de alan fputcsv() kullanın.

Coddy programlama dilleri çizimi

Coddy ile kodlamayı öğren

BAŞLA