PHP
explode() ile bölme
explode() ile bir dizeyi ayraçtan bölüp diziye dönüştürmeyi öğrenirsin.
explode() ile bölme
Bir dizeyi ayraçtan bölüp diziye dönüştürmek için explode() kullanılır. explode($delimiter, $string) biçiminde çağrılır; $delimiter ayraç, $string bölünecek dizedir. Sonuç bir dizidir (array).
Örnek: explode(',', 'elma,armut,muz') çağrısı ['elma', 'armut', 'muz'] dizisini verir. Dizeyi parçalara ayırıp her bir parçaya ayrı işlem yapacaksan ilk kullanacağın araçtır.
Sınırlı bölme
explode() üçüncü bir parametre daha alır: $limit. Pozitif bir sayı verilirse, dize en fazla o kadar parçaya bölünür; geri kalan bölüm son parçada kalır.
Örnek: explode(',', 'a,b,c,d', 2) çağrısı ['a', 'b,c,d'] döndürür. İlk virgülden bölüp geri kalanı tek parça halinde tutar. Bu, dosya yolu gibi "ilk parça özel, gerisi serbest" durumlarında kullanışlıdır.
Ayraç bulunamazsa
explode(), ayracı bulamasa bile yine de bir dizi döndürür. Bu durumda dize tek parça olarak diziye konur. Yani explode(',', 'tek parça') çağrısı ['tek parça'] döndürür; hata vermez.
Bunu bilmek, döngüde gezdiğinde sürpriz yaşamamak için önemlidir. Çıktının uzunluğunu count() ile denetleyip ayraç var mı yok mu anlayabilirsin. Boş dize verirsen [''] (tek boş parça) döner.
Uygulama Tarihi gün.ay.yıl biçimine çevir
$date değişkenine "2025-01-15" dizesini ata. explode() ile '-' ayracından bölüp $parts değişkenine ata. Sonra echo ile $parts[2], '.', $parts[1], '.' ve $parts[0]'ı . ile birleştirip yazdır (gün.ay.yıl biçimi).
Örnek çözümü göster
Önce $date'i ata, sonra $parts = explode("-", $date); yaz. En son echo $parts[2] . "." . $parts[1] . "." . $parts[0]; ekle.
Örnek çözüm:
<?php
$date = "2025-01-15";
$parts = explode("-", $date);
echo $parts[2] . "." . $parts[1] . "." . $parts[0];
Kendini test et
-
explode(',', 'a,b,c') çıktısı nedir?
explode(',', 'a,b,c')
- abc
- a-b-c
- ['a','b','c'] (dizi)
- Hata verir
Cevabı göster
['a','b','c'] (dizi) — Doğru. Virgülden bölüp üç elemanlı dizi döner.
-
Tarihi böl
$date = '2025-01-15';
$parts = ____('-', $date);
echo $parts[0];
Cevabı göster
$date = '2025-01-15';
$parts = explode('-', $date);
echo $parts[0];
Sıradaki ders: implode() ile birleştirme