Operatörler

Aritmetik operatörler

Aritmetik operatörler gayet basit. İlkokulda öğrendiğimiz şeyler, bunlara matematiksel operatörlerde diyebilirsin. Bu operatörler ile istediğin değerlerin toplamasını, çıkarmasını, bölmesini ve çarpmasını yapabilirsin.

İşte PHP’de aritmetik operatörler, isimleri ve örnekleri:

Operatör İsim Örnek
+ Toplama $a + $b
- Çıkarma $a - $b
* Çarpma $a * $b
/ Bölme $a / $b
% Modül $a % $b

Bunların uygulamasını göstericek olursak;

$a = 10;
$b = 20;
$c = 5;
$sonuc = $a + $b - $c;
echo $sonuc;

Ekranda 25 yazar.

$a değişkeninin değeri 10, $b değişkeninin değeri 20, $c değişkeninin değeri ise 5. $sonucdeğişkenine de $a değişkeni artı $b değişkeni ve eksi $c değişkeni dedik, bu da $sonuc değişkenine 10 + 20 – 5 işlemini yaptırarak 25 değerini verdi.

Bir tane de işe yarar bir deneme ile gösterelim:

$yil = 2017;
$dogum_yili = 1996;
$yas = $yil - $dogum_yili;
echo $yas;

Ekranda 18 yazar. 2010 yılından doğum yılımızı çıkarttık ve yaşımızı bulduk.

Karakter katarı operatörleri

İki ya da daha fazla karakteri ard arda eklemek için kullanacağın bu operatörü aslında bir kaç ders öncesinde örnek olarak kullandım. Orada anlamamış olabilirsin. Ama şimdi bu eksikliği gidereceğiz.

Yazıları ve diğer değerleri yan yana birleştirmek ve başka değerlere eklemek için “.” (nokta) operatörünü kullanacağız. Hemen bir örnek ile göstereyim yine:

$isim = 'Görkem';
$mesaj = 'Selam ';
$sonuc = $mesaj . $isim;
 
echo $sonuc;

Ekranda Selam Görkem yazar. Burada $sonuc değişkenine $mesaj değişkeni ile $isim değişkenini yan yana ekledik.

Bir örnek daha göstereyim:

$isim = 'Görkem';
$sonuc = 'Selam ' . $isim;
 
echo $sonuc;

Bu sefer de aynı şey yazar. Farklı yaptığımız şey; $mesaj değişkeni kullanmak yerine sonuç değişkenine direkt mesajımızı verdik ve yanına nokta operatörü ile $isim değişkenini birleştirdik.

Tek tırnak ile çift tırnak arasındaki fark

Bu konuda son olarak dikkat etmemiz gereken ufak bir farklı yoldan bahsedeceğim. Bu da PHP de (çift tırnak) ile  (tek tırnak) arasında bazı kullanım farklılıkları olması. Tek tırnak ile vereceğimiz değerlerin içerisine değişken yazamayız, hemen örnek ile gösterelim:

$isim = 'Görkem';
$mesaj = 'Selam $isim';
 
echo $mesaj;

Ekranda Selam $isim yazar. Çünkü biz değişkeni de tek tırnak içinde yazdık. Bu nedenle o $isim‘e bir değişken değil yazı gözüyle baktı. Eğer $isim değişkenini yazdırmak istiyorsan işte o zaman bir yukarıda verdiğimiz örnekteki gibi yapmalısın.

Bu bahsettiğim olay yanlızca tek tırnak için geçerli. Çift tırnakda ise bu durum daha farklı. Çift tırnak içerisine yazacağımız değişkenlerin değerleri yazar. Yani nokta operatörünü kullanmadan da değişkenleri çift tırnak içinde birleştirebiliyoruz. Hemen yine bir örnek geliyor:

$isim = 'Görkem';
$mesaj = "Selam $isim";
 
echo $mesaj;

Çok dikkat edin bir önceki örnek ile aynı fakat sadece mesaj değişkeninde tek tırnak değil çift tırnak kullandık. Ve bu durumda ekranda Selam Görkem yazacak. Çünkü çift tırnak içine yazılan değişkenlerin değerlerini verir. Fakat tek tırnakda böyle bir durum söz konusu değil.

Buradaki amaç bazen dolar işaretini kendi başına kullanmamız gereken bazı yerlerde PHP’nin o dolar işaretini değişken sanmamasını sağlamaktır. Mesela ekrana “Ücret: 100$” yazdırmak istediğimizde eğer çift tırnak kullanırsak PHP hata verir. Çünkü çift tırnak içerisinde dolar işareti özel karakter ve değişken ifadesi olarak algılanır. Bu durumlarda tek tırnak ya da kaçış operatörü kullanılır.

Kaçış operatörü

Kaçış operatörü ters bölüm işaretidir ““.

Kaçış operatörünün kullanımınıda hemen bir örnek ile gösterelim:

$mesaj = "Ücret: 100$";

echo $mesaj;

Çift tırnakta değişken kullandığımız için $ dolar işaretinden kaçmakta kullandığımız bu operatörü aynı zamanda çift tırnak içine çift tırnak içeren bir şey yazarkende kullanabiliriz. Hemen buna da bir örnek:Ekranda Ücret: 100$ yazar. Çift tırnak ile $ dolar işaretini kullandık ama başına ters bölüm işareti koyduk. Bu nedenle o dolar işaretini değişken olarak algılamadı.

$mesaj = "Görkem: "bu kaçış operatörünü anlamak için iyi bir örnek" dedi.";
echo $mesaj;

Biraz karışık bir konu gibi gelebilir ama aslında basit. Son olarak hepsini bir örnek ile göstereyim:Ekranda Görkem: “bu kaçış operatörünü anlamak için iyi bir örnek” dedi. yazar. Çift tırnak içinde çift tırnak işaretini kullansaydık PHP hata verirdi. Ama kaçış operatörü sayesinde böyle bir hata almadık ve kendimizi ifade ettik.

$isim = "Görkem";
$mesaj = "Merhaba ";
 
$sonuc = $mesaj . $isim; // Değeri: Merhaba Görkem
$sonuc = "$mesaj $isim"; // Değeri: Merhaba Görkem
$sonuc = 'Selam ' . $isim; // Değeri: Selam Görkem
$sonuc = 'Değerimiz: 100,000,000$'; //Değeri: Değerimiz: 100,000,000$
$sonuc = "Bu hatalı bir fiyat: 100$"; //PHP hata verir!
$sonuc = "Bu hatasız bir fiyat: 100$"; //Değeri: Bu hatasız bir fiyat: 100$
$sonuc = "Tırnak denemesi: "PHP""; //Değeri: Tırnak denemesi: "PHP"
$sonuc = "Hatalı bir örnek, "kaçış karakteri" kullanmadan tırnak açtık"; //PHP hata verir.

Atama operatörleri ile değişkenlere değer atarız. Temel atama operatörü eşittirdir (=). Bunu geçen örneklerde ve anlatımlarda anladığını varsayıyorum. Tek bir eşittir işareti, istenilen değişkene istenilen değeri atamamızı sağlar.

Atama operatörleri

Diğer operatörlerini de bir tablo üzerinde gösterelim. Bu operatörler birleşik atama operatörleri. Bunlar bir değişkenin sonuna bir değer eklemekte ya da değişkendeki sonuca bir sayı eklememizi kolaylaştırır. Basit bir örnek ile kavrayabileceğimiz bu birleşik atama operatörlerini önce tabloda gösterelim:

Operatör Kullanışı Karşılığı
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a - $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b
.= $a .= $b $a = $a . $b

Örnek bir atama operatörü kullanımı:

$a = 10;
$b = 20;
$a += $b;
 
echo $a;

Ekranda 30 yazar. Birleşik atama operatörü kullanarak toplama işlemi yaptık ve varolan değişkenin değerine atadığım değişkenin değerini ekledik.

Bu birleşik atama operatörü bizim değişkenin sonuna ekleyeceğimiz ya da çıkartacağımız değerler için aynı değişkeni tekrar yazdırmayarak bize kolaylık sağlar.

Bir değer arttırma ya da eksiltme

Bir değişkendeki sayısal değeri bir arttırmak için çift artı (++) operatörünü, bir değer eksiltmek için de çift eksi (- -) operatörünü kullanırız.

Örnek kullanımı:

$a = 10;
$a++;
echo $a;

İfadeleri ve operatörleri bir başlık altında toplayınca konu yoğunluğundan dolayı ikiye ayırmak durumunda kaldım. Bu yazıda bir önceki yazıda anlatmadığımız diğer ifadeleri ve diğer operatörleri anlatacağım.Ekranda 11 yazar. $a değişkeninin değerini 1 arttırdık ve ekrana yazdırdık.

Kaldığımız yerden karşılaştırma operatörlerini anlatmaya başlayarak devam ediyorum.

Karşılaştırma operatörleri

Karşılaştırma operatörleri ile adı üstünde birden fazla değerleri kendi aralarında karşılaştırmasını yapacağız. Mesela $a değişkeninde bulunan bir değer $b değişkeni ile aynı mı? Ya da daha mı büyük? Gibi karşılaştırmaları bu operatörler ile yapacağız.

Karşılaştırma operatörlerini bir tablo üzerinde gösterelim:

Operatör İsim Kullanılışı
== Eşittir $a == $b
=== Denktir $a === $b
!= Eşit Değildir $a != $b
!== Denk Değildir $a !=== $b
<> Eşit Değildir $a <> $b
< Küçüktür $a < $b
> Büyüktür $a > $b
<= Küçük ve eşittir $a <= $b
>= Büyük ve eşittir $a >= $b

Karşılaştırma operatörleri nasıl kullanılır?Karşılaştırma operatörü olan çift eşittir işaretinde dikkat etmemiz gereken ufak bir ayrıntı var. Çift eşittir işareti iki değeri karşılaştırmakta kullanılır, tek eşittir işareti ise değer atamakta kullanılır. Bu yüzden karşılaştırma operatörü olan çift eşittir kullanmak istediğiniz zaman tek eşittir yapmadığınızdan emin olun.

Karşılaştırma operatörlerini daha çok soru sormak gibi değerlendirebiliriz. Bu operatörleri koşul gerektirecek olan öğreneceğimiz bir sonraki ifadelerde kullanacağız. Kullanacağımız bu operatörlerin anlamlarına örnek olarak şunu diyebilirim:

$a = 10;
$b = 20;

Farklı bir operatör ile daha deneyelim: “$b > $a” burada da “$b değişkeni $a değişkeninden büyük mü?” diye sormuş oldum. Bu karşılaştırmanın cevabı da doğru yani TRUE dönecektir.Yukarıda a ve b değişkenlerine değer atadım. Şimdi karşılaştırma operatörü ile “$a == $b” dediğimde aslında “$a değişkeni $b değişkenine eşit mi?” diye bir soru sormuş oldum. Bu karşılaştırmanın sonucu yanlış yani FALSE dönecektir.

Mantıksal operatörler

Mantıksal operatörler ile birden fazla karşılaştırmayı değerlendirip, birleştirebiliriz. Mesela bir değişkenin hem 0 dan büyük mü hem de 100 den küçük mü diye bir karşılaştırmasını mantıksal operatörler sayesinde yaparız.

Mantıksal operatörleri bir tabloda gösterelim:

Operatör İsim Kullanılışı Açıklaması
! Olumsuzsa !$a $a'nın değeri olumsuz yani FALSE ise TRUE yani doğru döner. Aksini yapar olumsuz mu die sorar.
&& Ve $a && $b $a ve $b'nin değeri olumlu ise olumlu yani TRUE döner, ikisinden birisi olumsuz ise olumsuz yani FALSE döner.
|| Ya da $a || $b $a'nın değeri yada $b'nin değeri olumlu ise olumlu döner. Birisinin ya da ikisininde olumlu olması yeterlidir.

Bunlara bir örnekte başta dediğimiz; bir değişkenin değeri “0 dan büyük ve 100 den küçükse” karşılaştırmasını yapalım. Bunun için uygulayacağımız koşul şöyledir: “$a > 0 && $a < 100” Bunun anlamı $a değişkeni 0 dan büyükse ve 100 den küçüksedir. Eğer $a’daki sayı 0 ile 100 arasında ise bu koşulun sonucu olumlu döner.

Hata bastırma operatörü

Hata bastırma operatörü (@) et işaretidir. Her deyimin önünde kullanılabilir. Hata oluşturacak yerlerin başına bunu koyduğunuzda ekrana bir hata çıktısı verdirmemeye yarar.

Hatayı görmezden gelmeye ve sonucu olumsuz yapmamaya yarar.

Diyelim bir bölme işlemi yaptırıyoruz, bu bölme işlemine belki 0 rakamını da yazabiliriz. 0 yazdığımızda PHP bir rakamı 0 a bölemeyeceği için hata verecektir. Bu durumda bu operatör kullanarak hatayı bastırabiliriz. Örnek:

$a = 10;
$b = 0;
$sonuc = @($a/$b);
echo $sonuc;

Ekranda hata yazmaz onun yerine olumsuz sonuç döner.

Yorumlar
Yorum Yaz
Cevap Yaz