2488

Php ile Sıfırdan İleri Seviye Web Programlama Kursu

Php Operatörler

Php' de operatörleri aritmetik operatörler, atama operatörler, karşılaştırma operatörler ve mantıksal operatörler olmak üzere 4 grup altında ele alabiliriz.

Php Aritmetik Operatörler

Php aritmetik operatörler ile sayılar üzerinde matematiksel işlemleri yapabiliriz. 

<?php
 $x = 10;  
 $y = 2;

 echo ($x + $y)."<br>";      // 12
 echo ($x - $y)."<br>";      // 8
 echo ($x * $y)."<br>";      // 20 
 echo ($x / $y)."<br>";      // 5
 echo ($x % $y)."<br>";      // 0
 echo ($x ** $y)."<br>";     // 100
?>  

% operatörünü kullanarak bir sayının modunu alabiliriz.

10 % 2 ile 10 sayısının 2 e sürekli bölümünden elde edilen 0 değeridir.

** operatörünü kullanarak bir sayının üssünü alabiliriz.

10 ** 2 ile 10 sayısını yan yana 2 kere çarptığımızda 100 değerini elde ederiz.

Php Atama Operatörleri

Php atama operatörleri yardımıyla değişkenlere değer ataması yaparız.

<?php
 $x = 10;  
 $y = 2;

 $x = $y;	// $x değerine $y değeri atanır.
 $x += $y;	// $x = $x + $y;
 $x -= $y;	// $x = $x - $y;
 $x *= $y;	// $x = $x * $y;
 $x /= $y;	// $x = $x / $y;
 $x %= $y;	// $x = $x % $y;  
?>   

Örneğin; += operatörüyle atama yapılan değişken içeriği yeni değerle değiştirilmez, eski değerle yeni değer toplanır ve sonuç soldaki değişkene tekrar atanır.

Php Karşılaştırma Operatörleri

Php karşılaştırma operatörleriyle 2 değişken değerini karşılaştırabiliriz. Karşılaştırma sonucunda boolean (true-false) değer döndürülür. 

<?php
 $x = 10;  
 $y = 2;

 $x == $y;	// $x, $y değerine eşit mi? false
 $x === $y;	// $x, $y değerine eşit mi? false (tip kontrolü de yapılır)
 $x != $y;	// $x, $y değerine eşit değil mi? true
 $x <> $y;	// $x, $y değerine eşit değil mi? true
 $x !== $y;	// $x, $y değerine eşit değil mi? true (tip kontrolü de yapılır)
 $x > $y;	// $x, $y' den büyük mü? true
 $x < $y;	// $x, $y' den küçük mü? false
 $x >= $y;	// $x, $y' den büyük ya da eşit mi? true
 $x <= $y;	// $x, $y' den küçük ya da eşit mi? false
 
?>   

** "===" operatörünün farkı aynı zamanda tip kontrolü de yapmasınıdır.

<?php
 $x = 10;  
 $y = "10";

 echo var_dump($x == $y);			
 echo var_dump($x === $y);		
 
?>   

10 ve "10" değeri çift eşit operatörüyle karşılaştırıldığından "10" değeri string bir veri olmasına rağmen int veriye döndürülür ve karşılaştırma sayısal olarak yapılır ancak üç eşit operatöründe tip ve sayının da aynı büyüklükte olması gerekir.

Yani string "10" değeri ile int 10 değeri birbirine 3 eşit operatörüyle eşit değil sonucuna ulaşılır.

Php Mantıksal Operatörler

Mantıksal operatörleri kullanarak boolean değer üreten koşulları birleştirebiliriz.

Örneğin ehliyet alabilme koşullarını inceleyelim.

<?php

 $yas = 18;
 $mezuniyet = "lise";

 $x = ($yas >= 18);          // true
 $y = ($mezuniyet=="lise");  // true

?>

Her iki kriter ayrı ayrı true değer üretiyor olsa da bu iki kriteri ortak olarak değerlendiriyor olmamız gerekiyor. Sonuç olarak true ya da false değere ihtiyacımız var. Dolayısıyla mantıksal operatörler yardımıyla ayrı ayrı üretilen boolean değerleri birleştirerek tek bir boolean değer üretebiliriz.

Mantıksal operatörler; and, or ve xor operatörleridir.

And (Ve) Mantıksal Operatörü

Ayrı ayrı değerlendirilen tüm koşulların true olması gerekir.

Durum 1: false & false => false

Durum 2: true & false  => false

Durum 3: true & true   => true

<?php

 $yas = 18;
 $mezuniyet = "lise";

 $sonuc = ($yas >= 18 and $mezuniyet=="lise");

?>

yaş ve mezuniyet kriteri ayrı ayrı true değer ürettiğinden dolayı $sonuc değişkeni içerisine true bilgisi atanır. Eğer biri false değer üretseydi $sonuc false üretir.

Or (Veya) Mantıksal Operatörü

Ayrı ayrı değerlendirilen tüm koşullardan sadece birinin true olması yeterli olduğu durumlarda kullanılır. Hepsi false ise sonuç false olur.

Durum 1: true & false   => true

Durum 2: true & true    => true

Durum 3: false & false => false

<?php

 $yas = 18;
 $mezuniyet = "lise";

 $sonuc = ($mezuniyet=="lise" or $mezuniyet=="üniversite" or $mezuniyet=="yükseklisans");

?>

Burada $mezuniyet bilgisi lise, üniversite ya da yükseklisans değerlerinden en az bir tanesine eşit olduğu durumda $sonuc değeri true olur. Hiç biri gerçekleşmezse sonuç false üretilir.

Xor  Mantıksal Operatörü

x ve y den yalnızca her hangi birinin true olması durumunda true üretilir.

Durum 1: true & false   => true

Durum 2: true & true    => false

Durum 3: false & false => false

<?php
  $x = 100;  
  $y = 50;
  $sonuc = ($x == 100 xor $y == 80); // true
?> 

Mantıksal operatörleri beraber kullanalım.

<?php
  $yas = 18; 
  $mezuniyet = "lise";
  $sonuc = ($yas >= 18) and ($mezuniyet=="lise" or $mezuniyet=="üniversite" or $mezuniyet=="yükseklisans");
?>

Burada yas 18 e eşit ya da büyük olduğu durum ve $mezuniyet bilgisinin lise, üniversite ya da yükseklisans seçeneklerinden her hangi birine eşit olduğu durumda $sonuc true değerine eşitlenir.