PHP ile string işlemleri, PHP betik dili ile diğer betik dilleri veya diğer programlama dillerinde en sık kullanılan değişken türü string’dir bu makalemizde php betik dili ile string değişken tanımlama, kullanma ve string fonksiyonları ile ne gibi işlemler yapabildiğimize gözatacağız.
PHP ile string işlemleri
String Değişken Tanımlama ve Sayfaya Bastırma
string bir değişken tanımı yapabilmek için tek tırnak yada çift tırnak ile metin girişinizi yapabilirsiniz fakat tek tırnak ve çift tırnak kullanımında şu detayı gözardı etmemelisiniz.
eğer bir değişkeni string ifade içerisinde bastırmak isterseniz o zaman çift tırnak kullanmalısınız örnek $ad isminde bir değişkenininiz olduğunu varsayalım ve bu değişkene Murat ÖNER string değerini atadığınızı düşünelim bunu echo ile çift tırnak içerisinde “Adım: $ad” şeklinde bastırabilirsiniz böylelikle tarayıcı sayfaya Adım: Murat ÖNER yazacaktır fakat tek tırnak kullanmış olsaydık yani echo ‘Adım: $ad’ yazmış olsaydık bu durumda tarayıcı Adım: $ad yazacakdı sayfaya. alttaki koda gözatarak ne dediğimi daha iyi anlamış olacaksınız.
1 2 3 4 5 6 | <?php $ad = "Murat ÖNER"; echo "Adım: $ad"; echo "<br />"; echo 'Adım: $ad'; ?> |
String birleştirme
Çoğu betik programlama dili ve diğer programlama dillerinde string birleştirme işlemi + operatörü ile yapılmaktadır fakat php’de + operatörü sadece matematiksel operatör olarak kullanılmaktadır php’de string birleştirme için .(nokta) karakterini kullanacağız. örnek Murat ÖNER’i ayrı ayrı birleştirmek için $ad = “Murat”.”ÖNER”; yazabilirsiniz yada soyadı sonradan $ad değişkenine kısayolla dahil etmek isterseniz $ad .= “ÖNER”; şeklinde bir kodlama yapabilirsiniz. anlatımıma ait php kodu altta yer almaktadır.
PHP Örnek
1 2 3 4 5 | <?php $ad = "Murat"."ÖNER"; $ad2 = "Murat"; $ad2 .= "ÖNER"; ?> |
String Büyütme
String değerlerinin tümünü büyük harf yapmak için strtoupper fonksiyonunu kullanabiliriz fakat bu fonksiyon unicode karakterleri desteklemediği için türkçe karakterleriniz tanınmayıp saçma bir karakter ile değiştirilecektir ama bu sorunu aşmak için mb_strtoupper fonksiyonunu kullanabilirsiniz böylelikle bu fonksiyon unicode karakterleride desteklediği için problem yaşamayacaksınız ve mb_strtoupper fonksiyonu 2 parametre alıyor fakat 2.parametresi yani $encoding adındaki parametreye karakter seti verebiliyorsunuz eğer vermez iseniz default olarak sunucuda tanımlı olan karakter setini alacaktır türkçe karakter sorunu yaşamamak için utf-8 karakter setini 2.parametreye tanımlayabilirsiniz.
PHP Örnek
1 2 3 4 | <?php echo mb_strtoupper("murat öner", "utf-8"); //Sonuç: MURAT ÖNER ?> |
String Küçültme
String değerlerinin tümünü küçük harf yapmak için strtolower fonksiyonunu kullanabiliriz fakat bu fonksiyon unicode karakterleri desteklemediği için türkçe karakterleriniz tanınmayıp saçma bir karakter ile değiştirilecektir ama bu sorunu aşmak için mb_strtolower fonksiyonunu kullanabilirsiniz böylelikle bu fonksiyon unicode karakterleride desteklediği için problem yaşamayacaksınız ve mb_strtolower fonksiyonu 2 parametre alıyor fakat 2.parametresi yani $encoding adındaki parametreye karakter seti verebiliyorsunuz eğer vermez iseniz default olarak sunucuda tanımlı olan karakter setini alacaktır türkçe karakter sorunu yaşamamak için utf-8 karakter setini 2.parametreye tanımlayabilirsiniz.
PHP Örnek
1 2 3 4 | <?php echo mb_strtolower("MURAT ÖNER", "utf-8"); //Sonuç: murat öner ?> |
String ilk karakteri büyütme
String bir değerin ilk karakterini büyük olarak ayarlamak için ucfirst adlı fonksiyonu kullanabilirsiniz fakat bu fonksiyonda üstteki 2 maddede olduğu gibi unicode karakterleri desteklemediği için unicode karakterlerinide destekleyen kendi tanımlamış olduğumuz my_ucfirst adlı fonksiyonu alttaki örnek kodda görebilirsiniz.
PHP Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php echo my_ucfirst("öner"); /** * ucfirst UTF-8 aware function * * @param string $string * @return string * @see http://ca.php.net/ucfirst */ function my_ucfirst($string, $e ='utf-8') { if (function_exists('mb_strtoupper') && function_exists('mb_substr') && !empty($string)) { $string = mb_strtolower($string, $e); $upper = mb_strtoupper($string, $e); preg_match('#(.)#us', $upper, $matches); $string = $matches[1] . mb_substr($string, 1, mb_strlen($string, $e), $e); } else { $string = ucfirst($string); } return $string; } ?> |
String değerin içerisindeki tüm kelimelerin baş harfini büyük yapma
String değerin içerisindeki tüm kelimelerin baş harflerini büyük yapmak diğer bir deyiş ile capitalize formatında bir metne dönüştürmek için ucwords adlı fonksiyonu kullanabilirsiniz fakat üstteki diğer fonksiyonların açıklamasında belirtmiş olduğum gibi türkçe karakter sorunundan dolayı mb_convert_case adlı fonksiyonu kullanacağız.
PHP Örnek
1 2 3 4 5 6 | <?php echo mb_convert_case("murat öner", MB_CASE_TITLE, "utf-8"); //Sonuç: Murat Öner echo ucwords("murat öner"); //Sonuç: Murat öner ?> |