PHP Dersleri

PHP ile Satır Sonundan Bölüp Dizi Oluşturma

Bu dersimizde PHP ile Alt alta eklenen verileri bölüp, dizi haline getirme işleminden bahsedeceğim. PHP ile verileri belirli bir yerden bölmek için genellikle explode() kullanılmaktadır. Bende bu standartı bozmayıp hem explode() hemde preg_split() fonksiyonun kullanacağım.

Başlık olarak anlatmak istediğimi anlatamamış yada farklı algılayanlar olabilir. Burada anlatmak istediğimi örnek üzerinden anlayım. Örneğin; textarea’ya alt alta bir takım bilgiler yazalım. Bu değerler çekiliş için isimleri yazan kullanıcılar olsun. Formu gönderdiğimizde, textarea ile gönderilen veriler tek tek bölünüp işlem yapılmalıdır. İşte bu dersimizde alt alta gönderilen verilerin nasıl bölüneceğinden bahsetmiş olacağım.

İlk olarak basit bir form oluşturalım. Bu form için bir adet textarea ve button tanımlayalım. Değerleri post metodu ile islem.php dosyasına gönderelim.

<form action="islem.php" method="POST">
   <textarea name="kisiler" rows="10"></textarea>
   <button>Gönder</button>
</form>

Basit bir şekilde formu oluşturduktan sonra islem.php dosyasını oluşturalım. Bu PHP dosyasında iki farklı şekilde alt alta gelen değerlerin bölünmesini sağlamış olacağız.

explode() Fonksiyonu İle Satır Sonundan Bölme

Yukarıdaki form değerlerini islem.php’ye getirip, her bir veriyi explode() fonksiyonunu kullanarak alacağız. Örnek olarak aşağıdaki isimleri textareaya yazalım ve gönderelim.

ibrahim Çevrük
Ömer Yücel
Fevzi Gürel
Emre Yalçın

Yukarıda yer alan değerleri textarea ile gönderdiğimizde çıktı olarak yine aynı şekilde veriler tek tek gelecektir. Gönderilen verileri tek tek almak için explode() fonksiyonu ile bölmek ve bir bizi haline getirmek gerekecektir.

$kisi = explode(PHP_EOL, $_POST['kisiler']);
echo '<pre>';
   print_r($kisi);

Yukarıda yer alan $kisi değişkeninde explode() kullanarak gelen değerler böldük. Alt alta gelen değerleri PHP Programlama dili ile tesbit etmek için PHP_EOL kullandık.

PHP_EOL (string) Satır sonu (‘End Of Line’) sembolü. PHP 5.0.2’den beri mevcuttur.

Kaynak: php.net

PHP_EOL ile satır sonunu yakalayıp explode() fonksiyonu ile böldüğümüzde gönderilen veriler dizi haline gelecektir.

Array
(
    [0] => ibrahim Çevrük
    [1] => Ömer Yücel
    [2] => Fevzi Gürel
    [3] => Emre Yalçın
)

Sonuç olarak yukarıdaki gibi bir çıktı elde edilecektir. Satır sonu sembolünü kullanarak bu şekilde verilerinizi bölebilirsiniz.

preg_split() Fonksiyonu İle Satır Sonundan Bölme

Bir önceki başlıkta basit bir şekilde explode() ile verileri satı sonundan nasıl böleceğimizden bahsetmişttim. Şimdi de preg_split() fonksiyonu ile bu işlemi gerçekleştireceğiz. Adındaki preg_ ifadesinin size bir şeyler çağrıştırığını buradan hissediyorum. Evet yanlış hissetmiyorsunuz. Bu fonksiyon düzenli ifadeye göre veri bölme işlemini gerçekleştirmektedir. Bölünmesini istediğimiz yeri düzenli ifade ile belirtmemiz yeterli olacaktır.

$kisi = preg_split('/\r\n|\r|\n/', $_POST['kisiler']);

Yukarıda yer aldığı gibi \n ve \r yani alt satıra geçildiğinde -ki bu satır sonu demek oluyor- verileri böl diyoruz. Yine bu fonksiyonda çıktı olarak dizi verecektir.

Array
(
    [0] => ibrahim Çevrük
    [1] => Ömer Yücel
    [2] => Fevzi Gürel
    [3] => Emre Yalçın
)

Explode() fonksiyonu ile elde edilen değerin aynısını elde etmiş olacağız. Bu tarz bir işlemde explode yerine preg_split() fonksiyonunu kullanmanızı öneririm.

Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kapalı