PHP döngülerinde preg fonksiyonları kullanarak veri işlemlerini daha verimli hale getirmek mümkün Bu yazıda, preg_match, preg_match_all ve preg_replace fonksiyonlarının kullanımı hakkında detaylı bilgiye sahip olacaksınız

PHP'de döngüler oldukça önemlidir ve özellikle de preg fonksiyonlarıyla çalışmak, döngülerin gücünü arttırmak anlamına gelir. Bu makalede, PHP for, foreach ve while döngüleri içinde preg fonksiyonlarının nasıl kullanılacağına dair bilgiler paylaşacağız.
Preg fonksiyonları, işlem öncesi ifade ile eşleşmeyi sağlarlar. Bu sayede döngüler içinde belirli karakterlere ve öğelere göre işlem yapmak daha kolay hale gelir. Örneğin, for döngüsü içinde preg_match() fonksiyonu kullanarak bir string içinde belirtilen özelliklere uyduğu durumlarda işlem yapılabilir.
Bu yazıda, for, foreach ve while döngüleri içinde preg fonksiyonları ile nasıl çalışılacağına dair örnekler yer alacak. Ayrıca, preg_replace() fonksiyonu ile string içinde değişiklik yapmanın nasıl mümkün olduğuna dair bilgiler de verilecek. Bu sayede PHP döngülerini daha verimli hale getirmek için preg fonksiyonlarından yararlanabilirsiniz. Aşağıda döngülere örnekler yer alıyor:
Preg Nedir?
Preg, PHP programlama dilinde kullanılan bir fonksiyondur. İşlem öncesi ifadeler (regex) ile eşleşme yapmayı sağlayan bu fonksiyon, çeşitli işlemlerde oldukça kullanışlıdır. Özellikle, döngülerde preg fonksiyonlarının kullanımı ile işlem öncesi ifadelere göre eşleşme yapılarak değerlerin alınması ve işlem yapılması mümkündür. Bu sayede yazılan kodların daha esnek ve kullanışlı olması sağlanır.
Preg fonksiyonu, bir string içinde belirli bir ifadeye göre eşleşme yapar. Bu ifadeler, regex ifadeleri olarak da bilinir. Bu ifadeler içinde özel karakterler kullanılabilir ve bir pattern oluşturarak string içindeki belirli kriterlere göre işlem yapmak mümkündür. Eşleşme sağlandığında çeşitli işlemler gerçekleştirilebilir. Örneğin, belirli bir dizi içindeki elemanlar, belirli özelliklere göre sıralanabilir veya string içindeki belirli ifadeler değiştirilebilir.
For Döngüsünde Preg Kullanımı
For döngüsü, belirli bir sayıda tekrarlı işlem yapmak için kullanılan bir döngüdür ve preg fonksiyonları ile birleştirildiğinde daha verimli bir şekilde kullanılabilir. For döngüsü başlangıcında preg_match() fonksiyonu ile bir işlem öncesi ifade verilerek bir eşleşme yapılabilir. Bu işlem, döngü içindeki stringlerde belirli bir karakter veya karakter setine göre işlem yapmak istediğimiz durumlarda oldukça yararlıdır.
Bir örnekle açıklamak gerekirse, for döngüsü içinde preg_match() kullanarak bir string içindeki belirli karakterlere göre işlem yapmak mümkündür. Aşağıdaki kod, 0-9 arasındaki sayılara eşleşen karakterleri yazdıracaktır:
Kod: |
---|
|
Açıklama: |
Bu kod, 0-9 arasındaki sayılara eşleşen karakterleri yazdıracaktır. |
Bu örnekte, for döngüsü içinde preg_match() kullanarak işlem öncesi ifadeye göre bir eşleşme yapılıyor. Eşleşen karakterler, if koşulu ile kontrol edilerek istenilen işlem yapılıyor. Bu şekilde for döngüsü ile stringlerde belirli karakter veya karakter setlerine göre işlem yapmak oldukça kolay ve hızlı bir şekilde gerçekleştirilebilir.
Örnek Kullanım
For döngüsü içinde preg_match() kullanarak bir string içindeki belirli karakterlere göre işlem yapmak mümkündür. Bu işlemin kullanımı oldukça kolaydır ve kodu anlaşılabilir hale getirir.
Örneğin, aşağıdaki kod bloğunda, $str içindeki 0-9 arasındaki sayılara eşleşen karakterler yazdırılmaktadır:
for($i=0; $i<10; $i++){ |
preg_match(/[0-9]/, $str[$i], $matches); |
if($matches){ |
echo $str[$i]; |
} |
} |
Bu örnekte, $i değişkeni sıfırdan başlayarak 10'a kadar döngü yapmakta ve her $i değeri için preg_match() fonksiyonu kullanılmaktadır. Eğer 0-9 arasındaki bir sayı bulunursa, bu karakter $str'den yazdırılmaktadır.
Bu yöntem, uzun stringlerde belli bir karakter içermesi gereken örneğin bir parola oluşturma gibi senaryolarda oldukça kullanışlı olabilir. Bu sayede, işlem öncesi ifade (regex) kullanarak belirli bir karakter veya karakter grubuna göre işlem yapmak mümkün hale gelir.
Kodu Göster
For döngüsü içinde preg_match() kullanarak bir string içindeki belirli karakterlere göre işlem yapmak mümkündür. Aşağıdaki kod, 0-9 arasındaki sayılara eşleşen karakterleri yazdıracaktır.
|
Yukarıdaki kod, bir string içindeki belirli karakterlere göre işlem yapmayı sağlayacaktır. Bu sayede for döngüsü içinde istenilen karakterler belirlenebilir.
/[0-9]/Bir string içindeki sadece sayılara eşleşme yapmak istediğimiz durumlarda / [0-9] / işlem öncesi ifadesini kullanabiliriz. Bu durumda, sadece 0-9 arasındaki sayılar eşleşecektir.
Örneğin, önceden hazırlanmış bir string içindeki sadece sayıları yazdırmak istediğimizde, for döngüsü içinde preg_match() kullanarak / [0-9] / ifadesi ile eşleşen karakterleri böylece yazdırabiliriz:
Kodu Göster |
---|
for($i=0; $i<10; $i++){ preg_match(/[0-9]/, $str[$i], $matches); if($matches){ echo $str[$i]; } } |
Bu kod, 0-9 arasındaki sayılara eşleşen karakterleri yazdıracaktır.
, $str[$i], $matches); if($matches){ echo $str[$i]; } }For döngüsü içinde preg_match() kullanarak bir string içindeki belirli karakterlere göre işlem yapmak mümkündür. Örneğin, aşağıdaki kod, 0-9 arasındaki sayılara eşleşen karakterleri bulup yazdıracaktır:
Kodu Göster |
---|
|
Bu kod, 0-9 arasındaki sayılara eşleşen karakterleri yazdıracaktır. Ayrıca, $str[$i] içinde belirli bir karakter dizisi aranmasına izin vermek için kodda düzenlemeler yapılabilir. Preg_match() fonksiyonu, işlem öncesi ifadeye uygun bir eşleşme bulunduğunda $matches değişkenine tutulan sonuçları döndürür ve kod işlemeye devam eder.
Açıklama
Bu örnekte, for döngüsü kullanılarak bir string içinde 0-9 aralığındaki sayılara eşleşen karakterler yazdırılmaktadır. Kod içindeki preg_match() fonksiyonu kullanılarak belirli bir işlem öncesi ifadeye göre eşleşme yapılmakta ve eşleşen karakterler yazdırılmaktadır. Bu sayede for döngüsü içinde belirli bir şartın sağlanması durumunda istenilen işlem yapılabilmektedir.
Preg_replace() Fonksiyonu ile Döngüde Değişiklik Yapmak
Preg_replace() fonksiyonu, döngülerde kullanılan önemli bir fonksiyondur. Bu fonksiyon, bir string içindeki belirli ifadeleri başka ifadelerle değiştirmek için kullanılır. For, Foreach veya While döngüleri içinde preg_replace() fonksiyonu kullanarak belirli bir deseni değiştirmek veya çıkarmak mümkündür. Preg_replace() fonksiyonu, pattern, replacement, subject olmak üzere üç parametre alır. Pattern parametresi, hangi desenin değiştirileceğini belirler. Replacement parametresi, değiştirilecek olan desenin yerine ne geleceğini belirler. Subject parametresi ise, işlem yapılacak olan string'i tanımlar.
Örneğin, bir dizi içindeki öğelerin hepsinin başına veya sonuna bir karakter eklemek istediğimizde preg_replace() fonksiyonunu kullanabiliriz. Aşağıdaki örnek kod, dizinin her bir öğesi için "!" karakterini sonuna ekleyecektir.
Örnek Kod | foreach ($array as $key => $value) { $array[$key] = preg_replace('/$/', '!', $value); } |
---|
Bu kodda, $array dizisi içindeki her bir öğe $value değişkeni tarafından tanımlanır ve sonuna ! karakteri eklenir. Preg_replace() fonksiyonu, her bir öğe için değişiklik yapar ve dizideki tüm öğeler sonunda ! karakteriyle tamamlanmış olur.
Foreach Döngüsünde Preg Kullanımı
Foreach döngüsü, bir PHP dizisi içindeki her bir elemanı teker teker alır ve işlem yapılmasını sağlar. Bu durumda, preg_match() fonksiyonu kullanarak dizideki her öğe için işlem öncesi ifade ile eşleşme yapılabilir. İşlem öncesi ifade, düzenli ifadeler (regex) kullanılarak belirlenebilir. Örneğin, bir dizideki öğelerin belirli özelliklere uygun olup olmadığını kontrol etmek için preg_match() kullanılabilir.
Bu örnekte, foreach döngüsü ile bir dizi içindeki her bir eleman için preg_match() fonksiyonu kullanılabilir. Her öğe için özel bir işlem yapılır ve bu işlem sadece ilgili öğe için gerçekleşir. İşlem öncesi ifade kullanarak, dizideki öğelerin belirtilen özelliklere uygun olup olmadığını kontrol edebiliriz. Bu yöntem, işlemlerin her öğe için tekrarlanması gerektiğinde oldukça yararlıdır ve bunun için foreach döngüsü kullanılması uygun bir çözüm olabilir.
Örnek Kullanım
Bir foreach döngüsü ile, bir dizideki her öğe için belirli bir şartın eşleşmesi durumunda ilgili öğeye ait değeri yazdırabiliriz. Bunun için öncelikle foreach döngüsü içinde preg_match() fonksiyonu kullanarak, öğenin şartları sağlayıp sağlamadığını kontrol etmemiz gerekiyor. Eğer eşleşme olursa, o öğenin değerini ekrana yazdırabiliriz.
Örneğin, aşağıdaki kod ile bir dizi içindeki anahtarların (keys) belirli şartlara uyup uymadığını kontrol edebilir ve şartları sağlayan anahtarların değerlerini yazdırabiliriz:
Kod: | foreach($array as $key=>$value){ preg_match('/^[a-z0-9_-]{3,16}$/',$key,$matches); if($matches){ echo $value; } } |
Açıklama: | Bu kod, $array adlı dizideki her bir öğenin, '/^[a-z0-9_-]{3,16}$/' şartına uyup uymadığını kontrol eder. Eğer uyar ve eşleşme olursa, o öğenin değerini ekrana yazdırır. |
Kodu Göster
Bu kodda, foreach döngüsü kullanılarak dizi içindeki her öğe için belirli bir ifadeye göre işlem yapılmaktadır. Döngü içinde preg_match() fonksiyonu kullanılarak ‘^[a-z0-9_-]{3,16}$’ regular expression'ına uygun olanlar belirlenir ve eşleşen değerin yazdırılması sağlanır.
Kod parçası: | foreach($array as $key=>$value){ preg_match('/^[a-z0-9_-]{3,16}$/',$key,$matches); if($matches){ echo $value; } } |
Burada $array, for döngüsünde olduğu gibi tarama yapılacak olan dizi ifade eder. Döngü içinde her öğe kontrol edilir ve key, regular expression'a göre eşleşiyorsa value yazdırılır.
Açıklama
Bu kod, 'key' adı verilen öğenin belirtilen özelliklere uyduğu durumlarda 'value'yı yazdıracaktır. 'preg_match()' fonksiyonu, bir string içindeki verilen işlem öncesi ifadeye eşleşen karakterleri bulmak için kullanılır. Bu örnekte, eşleşme işlemi '/^[a-z0-9_-]{3,16}$/ ' ifadesine göre gerçekleştirilir. Bu ifade, öğenin küçük harfler, rakamlar, tireler ve alt çizgilerden oluştuğunu ve 3 ila 16 karakter arasında uzunluğa sahip olduğunu belirtir. Eşleşen tüm öğeler, 'echo' komutu kullanılarak yazdırılır.
While Döngüsünde Preg Kullanımı
While döngüsü, for ve foreach döngülerine benzer şekilde sıklıkla kullanılan bir döngüdür. Preg fonksiyonlarını kullanarak while döngüsü içerisinde belirli bir ifadeye göre işlem yapmak mümkündür. Örneğin, bir string içindeki sayıları yazdırmak istiyorsanız while döngüsünde preg_match() fonksiyonunu kullanabilirsiniz.
Kod | Açıklama |
---|---|
while(preg_match('/([0-9]+)/', $myString, $matches)){ echo $matches[0]; } | Bu kod, string içindeki sayıları yazdıracaktır. |
İlgili örnek kodda, preg_match() fonksiyonu stringteki herhangi bir sayıyı eşleşme noktasında bulur ve $matches dizisinde saklar. Ardından, while döngüsü bu işlemi stringteki tüm sayılar arasında gerçekleştirir ve her eşleşme için sayıyı yazdırır.
Örnek Kullanım
While döngüsü, bir string içindeki belirli bir ifadeye göre işlem yapmanın en uygun yollarından biridir. preg_match() fonksiyonu kullanarak bir string içindeki istediğimiz öğeyi tespit edebiliriz. Bu öğeyi tespit ettikten sonra, döngü içinde işlemlerimizi gerçekleştirebiliriz.
Örneğin, bir string içindeki sayılara göre işlemler yapmak istiyoruz. While döngüsü içinde preg_match() fonksiyonunu kullanarak sayılara göre eşleşme yapabiliriz. Eşleşen her bir sayı, döngü içinde yazdırılacaktır.
Kod | Açıklama |
---|---|
while(preg_match('/([0-9]+), $myString, $matches)){ echo $matches[0]; } | Bu kod, string içindeki sayıları yazdıracaktır. |
Bu örnek kullanım, while döngüsü ve preg_match() fonksiyonunun ne kadar yararlı olduğunu göstermektedir. İsterseniz farklı ifadelerle de kullanabilirsiniz. Önemli olan, işlemlerinizin doğru çalışmasıdır.
Kodu Göster
Kodu Göster
Bu kod, while döngüsünde kullanılan preg_match() fonksiyonu ile bir string içindeki sayıları tespit ederek ekrana yazdırmaktadır. "/([0-9]+)/" ifadesi, stringin içindeki sayıların belirtilmesini sağlar. \$myString ifadesi, örnek stringi temsil eder. $matches değişkeni, eşleşen sayıları içerir ve echo $matches[0]; satırı, eşleşen sayıları ekrana yazdırır.
Açıklama
Bu örnek kodda, while döngüsü içerisinde preg_match() fonksiyonu kullanılarak bir string içerisindeki sayılara eşleşen karakterler yazdırılacak. Bu sayede, while döngüsü içinde stringin her bir karakteri kontol edilerek, içerisindeki sayılar belirlenebilecek ve bunlar ekrana yazdırılabilecek. Bu işlemler için ise öncelikle while döngüsü tanımlanacak, güncellenen string bu döngüde kullanılacak ve sonrasında preg_match() fonksiyonu kullanılarak string içerisindeki sayılara eşleşen karakterler belirlenecek ve ekrana yazdırılacaktır.