php operatörler | Dersim php

2 Kasım 2014 Pazar

php operatörler

PHP dilinde = işaretine "atama operatörü" denir. Bu işlemci sadece yukarıda kullandığımız gibi, bir değişkenin bir değere eşitliğini ilan etmek amacıyla kullanılmaz. Örneğin:

print ( $sayi = 123 ) ;

ifadesinde olduğu gibi, bir fonksiyonun içinde de hem atama işlemi yapılabilir; hem de işlem yürütülür. PHP'nin aritmetik, birleşik-atama, birleştirme, karşılaştırma ve mantıksal sınama operatörleri vardır.

Aritmetik işlemciler:
+ Toplama                 6+5 = 11
- Çıkartma                 6-5 = 1
/ Bölme                      6/5 = 1.2
* Çarpma                   6*5 = 30
% Kalan (Modulus) 6%5 = 1

Aritmetik işlemleri gerçek sayılarla yaptığımız gibi, tuttuğu değer sayı olan değişkenlerle de yapabiliriz.

PHP, tırnak kullanmasanız da bir değişkenin sayı olup olmadığını anlar; daha sonra bu değişkenlerle aritmetik işlem yapabilir. PHP ayrıca rakamla başlayan alfanümerik değişkenleri sayı olarak kullanmaya kalktığınızda, bu değerin başındaki bütün rakamları sayı olarak kabul eder. PHP açısından harf veya işaretle başlayan alfanümerik değişkenlerin sayı olarak değeri sıfırdır.
Örnek:
$a = 6;
$b = "22/A";
print ($a + $b) ;                      sonuç olarak 28'i verecektir; veya

$a = 6;
$b = "A/22";
print ($a + $b) ;                       sonuç olarak 6 çıkacaktır.

Bu küçük deneyi yaparsanız, PHP ile program yazarken hangi değişkenin ne sonuç vermesi gerektiğini dikkatle düşünmek zorunda olduğunuzu görürsünüz. Bir kişinin geliri ile adresini toplamak, programcı olarak arzu ettiğiniz bir işlem olmayabilir!

Bununla birlikte elimizde bir kişinin adı ve soyadı ayrı değişkenler halinde ise, bunları birbirine ekleyerek ortaya yeni bir alfanümerik değişken çıkartabiliriz:



<?php
$adi = "Reşit";
$soyadi = "Muhtar";
$adi_soyadi = $adi . " " . $soyadi;
print ("<br>");
print ($adi_soyadi).”<br>”;
print ($adi . "'nın soyadı " . $soyadi . "'dir.")
?>

Bu örnekte, sadece ekleme yoluyla yeni bir değişken oluşturmakla kalmıyoruz; fakat alfanümerik değişkenleri, başka metinlerle de birbirine ekleyebildiğimizi görüyoruz. Bu işlemi nokta işaretiyle (.) yapıyoruz. Bu işlemciyle sadece değişkenlerin değerlerini değil fakat metinleri de birbirine ekleyebiliriz:

ÖRNEK:
<?PHP
$a=8;
$b=2;
$r1=$b+$a/$b;                      
$r2=$a*$b%$a*$b*$b;          
$r3=80-$a*$b/$a;                  
echo"$r1\n";
echo"$r2\n";
echo"$r3\n";
?>

PHP'nin atama işlemcisinin eşittir (=) işareti olduğunu hatırlıyorsunuz birleşik-atama (combined-assignment) işlemcileri, bu işarete diğer aritmetik işlemciler eklenerek oluşturulur.

İşlemci           Örnek                         Anlamı
+=                   $a += 5           $a = $a + 5
-=                    $a -= 5            $a = $a - 5
/=                     $a /=5             $a = $a / 5
*=                    $a *= 5            $a = $a * 5
%=                  $a %= 5          $a = $a % 5
.= $a                .= "metin"        $a = $a" metin"

Bu işlemi zihnimizde, "A değişkeninin mevcut değerine 5 ekle, çıkan sonucu A değişkenin yeni değeri yap!" şeklinde canlandırabiliriz.



ÖRNEK:


<?PHP
$numara = 5;
$numara += 12;
echo" $numara ";
?>
<?PHP
$zaman=6;
$zaman *=8;
echo" $zaman";
?>
?PHP
$str = "Merhaba ";
$str .= "Neredeydin?";
echo "$str";
?>



Bir Arttırmak veya Azaltmak için

Değerleri sadece 1 arttırmak veya azaltmak için PHP, bir kolaylık sağlar:

$a++ veya ++$a: $a'nın değerini 1 arttırır;
$a-- veya --$a: $a'nın değerini 1 eksiltir.

++ veya -- işaretinin değişken adından önce veya sonra olmasının sonucu farklı olur. İşaretler değişkenin adından önce ise PHP önce değişkenin değerini bir arttırır veya eksiltir, sonra bu yeni değeri işleme katar; işaretler değişken adından sonra ise, PHP değişkenin o andaki değerini işleme kadar, sonra değeri bir arttırır veya eksiltir.
ÖRNEK:
<?PHP
$a =5;
echo (++$a);             
echo $a;                    
$b =6;
echo ($b++);             
echo $b;                                
$c =9;
echo (--$c);               
echo $c;                    
?>

Karşılaştırma Operatörleri:
PHP'nin karşılaştırma yapması için kullandığımız işlemciler ise işlem işaretinin sağı ve solundaki değerleri veya değişkenlerin değerlerini işaretin belirttiği karşılaştırmayı yaptıktan sonra ortaya ya doğru (true) ya da yanlış (false) sonucunu çıkartırlar. Söz gelimi, değeri 6 olan değişkenin 5'ten büyük olup olmadığını sınarsak, sonuç doğru; 5'ten küçük olup olmadığını sınarsak sonuç yanlış çıkacaktır. PHP'nin karşılaştırma işlemcileri şunlardır:

$a=6 ise:
İşlemci           Anlamı           Örnek
==                   eşitse              $a == 5           Yanlış/False
!=  <>              eşit değilse      $a != 5            Doğru/True
===                 aynı ise           $a === 5         Yanlış/False
>                      büyükse          $a > 5             Doğru/True
<                      küçükse          $a < 5             Yanlış/False
<=                   küçükse          $a <= 5           Yanlış/False
veya eşitse
>=                   büyükse          $a >= 5           Doğru/True
veya eşitse

PHP'nin karşılaştırma işlemcileri hem tam ve ondalık sayı türü değerlerle, hem de alfanümerik değerlerle kullanılabilir.






ÖRNEK:
<?php
$a = 55;
$b = 12;
if($a == $b){
echo " Evet eşitler.";
}else{
echo "Eşit değiller.";
} bunları biliyorsun değil mi 1?dj 1dj 1dj
?>

ÖRNEK:
<?php
$a = 55;
$b = 12;
if($a != $b){
echo "EŞİT DEĞİL";
}else{
echo "EŞİTLER";
}
?>

ÖRNEK:
<?php
$a = 55;
$b = 12;
if($a < $b){
echo '$a Küçük';
}else{
echo '$a Büyük';
}
?>


Daha ileri aşamalarda, bazen değişkenlerimizin karşılaştırmasının bu kadar basit olamayacağını; kimi zaman iki grup değişkenin karşılaştırılması gerektiği durumların bulunduğu göreceğiz. Diyelim ki, bir öğrencinin başarılı sayılması için hem vize notunun, hem de yılsonu sınav notunun belirli sayılardan büyük olması gerekiyor. Bu durumu ancak karmaşık-mantıksal sınamadan geçirmemiz gerekir. Bu sınamayı iki ayrı sınama sonucu ile birlikte kullanırız. Örneğin:

vize notu yeterli - final notu yetersiz = kalır (yanlış/false)
vize notu yeterli - final notu yeterli = geçer (doğru/true)

PHP'de bu karşılaştırmayı iki grubun arasına koyduğumuz işaretlerle yaparız İşaretin sağ ve sol tarafının doğruluğu veya yanlışlığı işarete göre nihai sonucun doğru veya yanlış olmasını sağlar. Bu karşılaştırmaları yaparken şu işlemcileri kullanırız:

İşlemci Adı                Anlamı                                                          Örnek
|| veya                                    sol veya sağ doğru                                        doğru || yanlış = doğru
or veya                       sol veya sağ doğru                                        doğru || yanlış = doğru
&& ve                         sol ve sağ doğru                                            doğru || yanlış = yanlış
and ve                        sol ve sağ doğru                                            doğru || yanlış = yanlış
Xor Şartlı-veya           Sadece sol veya sağ doğru                           doğru || yanlış = doğru
! Değil                         sol veya sağ yanlış                                        doğru || yanlış = doğru

"veya" ve "ve" sınamaları için iki ayrı işlem işareti bulunmasının sebebi, PHP'nin işlem sırasıyla ilgilidir. Şimdi, kavranması kolay olmayan ikili mantıksal sınamalara bir örnek verelim; yukarıda öğrencinin durumunu PHP komutu olarak yazalım.

ÖRNEK:
<?PHP
$x=10; $y=30;
if($x >=20 && $y>=20){
print "Koşul doğru";
}
else{
print "Koşul yanlış";
}
?>

ÖRNEK:
<?PHP
$a = 1; $b = 2;
if($a > $b || $a < $b){
 print "Koşul doğru";
 } else{
 print "Koşul doğru değil ";
}
?>
ÖRNEK:
<?php
$vize = 45;
$final = 65;
if ($vize >= 50 && $final >= 50) {
print ("Öğrenci geçti!");
}
else {
print ("Öğrenci kaldı!");
}
?>

Mantıksal karşılaştırma işlemleri daha da karmaşık olabilir. Örneğin, öğrencinin geçmiş sayılması için yılsonu vize ve final notlarının 45'dan yüksek, ve birinci sömestr notunun ya da vize ve final notlarının ortalamasının 65'den yüksek olması şartı aranabilir. Bu durumda kodu şöyle yazmamız gerekirdi:

<?php

$vize = 45;
$final = 65;
$ilk_sem = 45;
$ortalama = ($vize + $final) / 2;
if (($vize >= 45 && $final >= 45) and ($ilk_sem >= 65 || $ortalama >= 65)) {
print ("Öğrenci geçti!");
}
else {
print ("Öğrenci kaldı!");
}
?>

Burada, PHP önce || veya && işaretinin sonucunu bulacak sonra and veya or işlemcisinin gereğini yapacaktır. Bu kodun vereceği sonucu, bilgisayarda çalıştırmadan tahmin edebilir misiniz?

İşlem önceliği deyince. Bütün programlama dilleri gibi PHP için de işlemlerin hangi sırada yapıldığı önem taşır. "5 + 4 * 2" işleminin sonucu, önce 5 ile 4'ün toplanması ve sonucun 2 ile çarpılması halinde başka, 4'ün 2 ile çarpılması ve sonucun 5 ile toplanması halinde başka olacaktır. Bu bakımdan, PHP'nin hangi işlemi önce yaptığı, hangi işlemi sonra yaptığını bilmemiz gerekir.



PHP'deki işlemlerin yapılış sırası şöyledir:
++ ve --
/ * %
+ -
< <= => >
== === | =
&&
||
= += -= /= %= .=
and
xor

or

0 yorum

Yorum Gönder