Navigate / search

ereg_replace() Aranan Karakterleri Başka Karakterle Değiştirmek

Ereg ve eregi fonksiyonlarını bir önceki derste görmüştük.Bu fonksiyonlar sadece karşılaştırıyor,  komuttaki arama desenine uyuyorsa yeni değişkenimize bilgileri aktarıyor.Direk olarak aktarmasını istemeyipte değiştirerek aktarmasını isteyebiliriz.

Word yada benzeri kelime işleme programlarında Bul ve Değiştir özelliğini kullanmışsınızdır.Kullanmayanlar CTRL+F yapıp bul ve değiştir özelliğini deneyebilirler.İşte ereg_replace fonksiyonumuzda bu ve değiştir görevi yapar.

Bir örnekle açıklamak gerekirse örneğin bir metin içinde “x” harflerini “ks” harfleriyle değiştirebiliriz.Bir metin içinde defalarca “maximum” kelimesi yazdığımızı düşünelim.Daha sonrada bunu x kullarak değilde “maksimum şeklinde yazmamız gerektiğini düşünebiliriz.Bir kere bu kelimeyi kullaşmış olsaydık belki elimizde silip düzeltebilirdik ama onlarca olduğunu varsayarsak zamanımızı çalabilir.İşte bunu bul ve değiştir işlemiyle yapabiliyoruz yani ereg_replace ile…..Diyoruzki “x” leri bul ve “ks” ile değiştir.Komut olarak yazılışını göstermek gerekirse;

ereg("x","ks",$degisken);

Şimdi bahsettiğimiz açıklamaya uygun çalışır bir kod yazalım.İlk önce içinde maximum geçen bir metin yazalım.Ve sonra bu metni ekrana yazdıralım.Daha sonra ereg_replace fonksiyonunu uygulayarak metnimizi değişikliğe uğratıp yazdıralım.

1
2
3
4
5
$metin="Maximum Kas İçin Örnek Program.Kaslarınızın En Kısa Sürede Maximum Güçlenmesi.Maximum Enerji Yakımı<br>";
echo $metin;
echo "------------------------------------------------------------------------<br>";
$yeni_metin=ereg_replace("x","ks",$metin);
echo $yeni_metin;

Ve işte sonuç…Anlattığımız gibi değil mi ?

Maximum Kas Için Örnek Program.Kaslarinizin En Kisa Sürede Maximum Güçlenmesi.Maximum Enerji Yakimi
------------------------------------------------------------------------
Maksimum Kas Için Örnek Program.Kaslarinizin En Kisa Sürede Maksimum Güçlenmesi.Maksimum Enerji Yakimi

NOT# Ereg fonksiyonunda eregi fonksiyonunuda görmüştük.Aynı işleri yaparlardı.Fakat ereg büyük küçük harfle duyarlı eregi ise duyarlı değildi.
Ereg_replace fonksiyonuda büyük küçük harflere duyarlıdır.Fakat eregi_replace fonksiyonu duyarlı değildir.

In_array Fonksiyonu

in_array () Fonksiyonu bir önceki derste gördüğümüz array_key_exists fonksiyonuyla benzer bir görev görür.array_key_exists dizideki anahtarları sorgularken in_array fonksiyonu anahtarların içindeki değerleri sorgular ve belirttiğimiz anahtarın olup olmadığını bize söyler.

Aynı dizi üzerinde bu kez değerler içinden fiyat sorgulaması yapalım.

1
2
3
4
5
6
7
$telefon=array("nokia"=>335,"Sony"=>250,"samsung"=>200);
 
if (in_array("335",$telefon)){
	echo "Aradığınız kriterde sonuç var";
	}else{
	echo "Aradığınız kriterde sonuç yok";
	}

335 değer dizi içinde yer aldığı için if sorgulamasında “Aradığınız kriterde sonuç var” cevabı gelecektir.

Array_key_exists () Dizi Fonksiyonu

Php’nin kendine ait ve bizim kullanmamıza hazır fonksiyonları olduğunu söylemiştik.(echo() print() phpinfo() gibi) Şimdi yine bu fonksiyonlarımız gibi fakat dizilerde kullanabileceğimiz tüm fonksiyonları tek tek ele alacağız.Bunlardan array_key_exists() fonksiyonuyla başlayalım.

Array_key_exists dizide belli bir anahtar içeren dizi elemanı varmı sorusunu sormak için  kullanırız.Örneğin bir dizide “x” adında bir anahtar olup olmadığını sorgulayacak kodu yazalım.

1
array_key_exists("x",$diziadi);

Bu fonksiyon $diziadi adındaki dizide x adlı bir anahtar olup olmadığını sorguluyor.Eğer varsa dönecek cevap True x adında bir anahtar yoksa dönecek cevap False olcaktır.
Şimdi bunu program içinde kullanalım.İlk önce bir dizi yazalım daha sonra o dizideki bir anahtar olup olmadığını sorgulayalım.array_key_exists() fonskiyonundan dönecek cevapa göre programımızın işleyişini düzenleyelim

1
2
3
4
5
6
7
$telefon=array("nokia"=>335,"Sony"=>250,"samsung"=>200);
 
if (array_key_exists("nokia",$telefon)){
	echo "Aradığınız kriterde sonuç var";
	}else{
	echo "Aradığınız kriterde sonuç yok";
	}

Gördüğünüz gibi if komutuyla sonucun True yani doğru olup olmadığını sorguladık ve doğru yada yanlış cevaplara göre kodlarımızı yazdık.Bu programı çalıştırdığınızda dizide nokia isimli bir anahtar olduğu için “Aradığınız kriterde sonuç var” yazısı çıkacaktır.

Return ile Fonksiyondan Çoklu Değer Döndürmek

Fonksiyonumuzdan dööndüreceğimiz değer herzaman birtane ile sınırlı olmayabilir.Fonksiyon içinden birden çok hatta onlarca değeri program akışı içinde kullanmamız gerekebilir.Normal değer döndürmek için kullandığımız Return komutuyla bu işlemide yapoabiliriz.Fakat hem fonksiyonu tanımlarken hemde fonksiyonu çağırırken bir kaç değişiklik yapacağız.

örneğimizde bir fatura hesaplama fonksiyonu yapalım.Fonksiyonumuza bildirdiğimiz tutarımızı bu tutara ait kdv’yi vede genel toplamımızı aynı anda fonksiyondan değer olarak döndürelim.

1
2
3
4
5
6
7
8
9
10
11
// fonksiyonu tanımlarken...
function fatura ($Toplam){
      $Kdv=$Toplam*0,18;
      $GenelToplam=$Toplam+$Kdv;
      return array ($Toplam,$Kdv,$GenelToplam);
}
// fonksiyonu çağırırken
list ($Toplam,$Kdv,$GenelToplam)=fatura(200);
echo "Toplam =".$Toplam."<br>";
echo "Kdv =".$Kdv."<br>";
echo "Genel Toplam=".$GenelToplam."<br>";

Retur ile değer döndürürken değer isimlerinden önce array (dizi) yazılır ve parantez içine döndürmek istediğimiz değişkenler aralarında virgül yazılarak eklenir.Bu işlem bittikten sonra , fonksiyon çağırılırken list() komutuyla gelecek olan değer isimleri sıralanır.bir eşittir koyularak fonksiyonumuz yazılır.Artık list komutuyla listelediğimiz değişkenlerin içeriğinde istediğimiz değerler mevcuttur.Yanlız bir nokta var onu unutmayın.

return array ($Toplam,$Kdv,$GenelToplam)
list ($Toplam,$Kdv,$GenelToplam)

fonksiyonu tanımlarken yazdığınız değişkenleri list() fonksiyonuna eklerkende aynı sıralama ile yazınız.

Fonksiyondan Return ile Değer Döndürmek

Fonksiyondan değer döndürmek nedir? Fonksiyonda yaptığımız işlemlerden bir sonuç elde edebilir ve bu sonucu program içinde kullanmamız gerekebilir.Fonksiyondan değer döndürmek istersek yine return() komutunu kullanmamız gerekecektir.Sınav notlarının ortalaması alan bir programla örnek yapalım.

1
2
3
4
5
function ortalama ($sinav1,sinav2){
      $ortalama=($sinav1+sinav2)/2;
      return ($ortalama);
}
echo ortalama (45,65);

Bu örnekte şu ana gördüğümüz fonksiyonlardan farklı olarak 2 tane parametre yani argüman tanımladık.Bu parametrelerin biri ilk sınav ikincisi ise diğer sınavdır.Fonksiyon içindede not ortalaması alan matematiksel işlemimizi yapıp sonucumuzu $ortalama değişkeni içine yazdık.Fonksiyon dışında bu ortalama değişkenini kullanmak için ise return ($ortalama); komutumuzu yazdık.Ve böylece fonksiyon içinde belirlediğimiz herhangi bir değeri fonksiyon dışında kullanabilmiş olduk.