PHP’nin parse_str()
fonksiyonu, sorgu dizelerini veya diğer benzer dizeleri anahtar-değer çiftlerine ayrıştırmak için inanılmaz derecede yararlı olabilir.
parse_str() Fonksiyonu Ne Yapar?
parse_str()
işlevi, bir sorgu dizesini çözümleyen ve geçerli kapsamdaki değişkenleri ayarlayan yerleşik bir PHP işlevidir. Başka bir deyişle, URL parametrelerinden oluşan bir dizeyi alır ve bunları PHP kodunuzda kullanabileceğiniz değişkenlere dönüştürür.
parse_str()
işlevi, form gönderimlerinden kolayca veri ayıklamanıza ve bunları PHP kodunuzda kullanmanıza olanak tanıdığından, formlarla çalışırken özellikle yararlı olabilir. Benzer bir anahtar-değer çifti modelini izleyen diğer dizge türlerini ayrıştırmak için de kullanılabilir.
Artık parse_str()
fonksiyonunun ne yaptığını bildiğimize göre, bir sonraki konuya geçelim: fonksiyon nasıl çalışır ve sözdizimi nedir?
parse_str() Fonksiyonu Nasıl Çalışır ve Söz Dizimi Nedir?
parse_str()
fonksiyonunun söz dizimi oldukça basittir:
parse_str(string $str, array &$cikti = null): void
parse_str()
fonksiyonu iki parametre alır:
$str
: Ayrıştırmak istediğiniz dize. Bu genellikle bir URL sorgu dizesi veya anahtar-değer çiftleri içeren bir dizedir.$cikti
: Ayrıştırılan anahtar-değer çiftlerini saklamak üzere bir dizi belirtmek için kullanabileceğiniz isteğe bağlı bir parametre. Bu parametreyi belirtmezseniz, fonksiyon geçerli kapsamdaki değişkenleri otomatik olarak ayarlayacaktır.
parse_str()
fonksiyonunun nasıl çalıştığını gösteren basit bir örneğe bakalım:
$queryString = "isim=John&yas=30&sehir=New+York";
parse_str($queryString, $output);
echo $output['isim']; // Çıktı: John
echo $output['yas']; // Çıktı: 30
echo $output['sehir']; // Çıktı: New York
Bu örnekte, parse_str()
fonksiyonuna bir sorgu dizesi ($queryString
) aktarıyoruz. Ayrıca ayrıştırılan anahtar-değer çiftlerini saklamak için bir $output dizisi belirtiyoruz.
Fonksiyon çağrıldıktan sonra, $output
dizisi ayrıştırılmış değişkenleri içerecek ve bu değişkenleri daha sonra PHP kodumuzda kullanabileceğiz.
Bir sonraki konuya geçelim: bazı örneklerle fonksiyonu kendi kodunuzda nasıl kullanabileceğiniz.
parse_str() fonksiyonunun örneklerle kullanımı
parse_str()
fonksiyonunun kullanımı kolaydır ve çeşitli şekillerde kullanılabilir. Bu bölümde, fonksiyonun nasıl çalıştığını göstermeye yardımcı olacak örneklerle birlikte fonksiyon için bazı yaygın kullanım durumlarını ele alacağız.
Örnek 2: İç İçe Anahtar-Değer Çiftlerini Ayrıştırma
Bazen, iç içe anahtar-değer çiftleri içeren bir sorgu dizesiyle karşılaşabilirsiniz. Bu durumlarda, parse_str()
fonksiyonu özellikle yararlı olabilir:
$queryString = "kisi[isim]=John&kisi[yas]=30&kisi[sehir]=New+York";
parse_str($queryString, $output);
echo $output['kisi']['isim']; // Çıktı: John
echo $output['kisi']['yas']; // Çıktı: 30
echo $output['kisi']['sehir']; // Çıktı: New York
Bu örnekte, parse_str()
fonksiyonuna iç içe anahtar-değer çiftleri içeren bir sorgu dizesi aktarıyoruz. Ayrıca ayrıştırılan değişkenleri saklamak için bir $output
dizisi belirtiyoruz.
Fonksiyon çağrıldıktan sonra, $output
dizisi ayrıştırılmış değişkenleri içerecek ve bu değişkenlere dizi gösterimini kullanarak erişebileceğiz.
Örnek 3: Bir URL’yi ayrıştırma
parse_str()
fonksiyonu ayrıca bir URL’yi ayrıştırmak ve URL’den belirli parametreleri çıkarmak için de kullanılabilir:
$url = "https://www.example.com/?isim=John&yas=30&sehir=New+York";
parse_str(parse_url($url, PHP_URL_QUERY), $output);
echo $output['isim']; // Çıktı: John
echo $output['yas']; // Çıktı: 30
echo $output['sehir']; // Çıktı: New York
Bu örnekte, URL’den sorgu dizesini çıkarmak için önce parse_url()
fonksiyonunu kullanıyoruz. Daha sonra değişkenleri ayrıştırmak için sorgu dizesini parse_str()
fonksiyonuna aktarıyoruz.
Örnek 4: Form Gönderimleriyle parse_str() Kullanımı
parse_str()
fonksiyonunun en yaygın kullanım alanlarından biri form gönderimlerinden veri ayıklamaktır:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
parse_str($_POST['formData'], $output);
echo $output['isim']; // Çıktı: John
echo $output['yas']; // Çıktı: 30
echo $output['sehir']; // Çıktı: New York
}
Önce geçerli istek yönteminin POST olup olmadığını kontrol ediyoruz. Eğer öyleyse, gönderilen form verilerinden değişkenleri çıkarmak için parse_str()
fonksiyonunu kullanıyoruz.
Form verilerinin formData
parametresinde URL kodlu bir sorgu dizesi olarak sunucuya aktarıldığını varsayıyoruz. Daha sonra değişkenleri ayıklamak için bu parametreyi parse_str()
fonksiyonuna aktarıyoruz.
Bu Fonksiyonun Uygulama Bazında Yaygın Kullanım Alanları Nelerdir?
Önceki bölümde gördüğümüz gibi, parse_str()
fonksiyonu çeşitli şekillerde kullanılabilir:
- Form gönderimlerini ayrıştırma
- URL’lerden veri ayıklama
- Genel olarak anahtar-değer çiftlerini ayrıştırma
- Sorgu dizelerinden belirli parametreleri çıkarma
Bunlar parse_str()
fonksiyonunun nasıl kullanılabileceğine dair sadece birkaç örnek. Sonuçta, bu fonksiyon en çok anahtar-değer çiftlerinden oluşan bir dizeyi ayrıştırmanız ve bunları PHP kodunuzda kullanabileceğiniz değişkenlere dönüştürmeniz gerektiğinde işe yarar.
parse_str()’ye Benzer Fonksiyonlar
Son olarak, parse_str()
işlevine benzer işlevlere kısaca değinelim. parse_str() işlevine benzeyen iki önemli işlev parse_url()
ve http_build_query()
işlevleridir.
parse_url()
işlevi, bir URL’yi bileşen parçalarına (şema, ana bilgisayar, yol ve sorgu dizesi gibi) ayrıştırmak için kullanılabilir. Bu, yalnızca sorgu dizesi yerine bir URL’nin belirli bölümlerini çıkarmanız gerektiğinde yararlı olabilir.
Öte yandan http_build_query()
işlevi bir veri dizisi alır ve bunu URL kodlu bir sorgu dizesine dönüştürür. Bu, bir dizinin içeriğine göre dinamik olarak bir sorgu dizesi oluşturmanız gerektiğinde yararlı olabilir.
Bu işlevler parse_str()
işlevine benzemekle birlikte, biraz farklı amaçlara hizmet ederler. parse_url()
işlevi daha çok bir URL’nin parçalarını ayıklamaya odaklanırken, http_build_query()
işlevi bir diziden bir sorgu dizesi oluşturmaya odaklanır. parse_str()
işlevi en çok bir sorgu dizesini veya diğer anahtar-değer çiftlerini PHP kodunuzda kullanabileceğiniz değişkenlere ayrıştırmanız gerektiğinde kullanışlıdır.
Sonuç
Bu yazıda PHP’de parse_str()
fonksiyonunu ele aldık. Fonksiyonun nasıl çalıştığını, çeşitli örneklerle nasıl kullanıldığını, yaygın kullanım durumlarını ve benzer fonksiyonları gördük.
parse_str()
çeşitli senaryolarda faydalı olabilecek çok yönlü bir fonksiyondur. İster form gönderimlerini ayrıştırıyor, ister URL’lerden veri alıyor ya da genel olarak anahtar-değer çiftleriyle çalışıyor olun, parse_str()
işinizi halletmenize yardımcı olabilecek güçlü bir araçtır.