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.
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:
İşlemci Örnek Örnek $a=6 ise:
== 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ğuru/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.
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ışığı 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. Birazdan oraya geliyoruz.
Şimdi, kavranması kolay olmayan ikili mantıksal sınamalara bir örnek
verelim; yukarıda öğrencinin durumunu PHP komutu olarak yazalım.
<?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 ya birinci sömester notunun ya da vize ve final
notlarının ortalamasının 65'den yüksek olması şartı aranabilir. (Kabul;
kötü bir örnek oldu. Ama sırf alıştırma için!) 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_se >= 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 yapaçaktır. Bu kodun vereceği sonucu,
bilgisayarda çalıştırmadan tahmin edebilir misiniz? İpucu: Bu öğrencinin
yerinde olmak istemezdim!
İş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
r.