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