PHP Dersleri #4 | Algoritmalar ve if, else ve elseif deyimleri ve operatörler

Fireblaze

Üye
9 Ara 2017
133
1
Merhaba arkadaşlar,
Bugün ki son PHP dersime de geçtik. :)

Bugün, PHP'de algoritma sistemini anlatacağım sizlere.

Öncelikle Algoritma nedir, bilmeyenlere kısaca açıklayayım.
Algoritma, temel olarak bir evet/hayır ya da eğer/değilse ağacıdır. Hatta, okulda ders kitaplarında görmüş olabilirsiniz, Bir yerden başlıyorsunuz ve eğer doğruysa ya da yanlışsa o yolu takip ediyor sonunda da x numaralı kapıya ulaşıyorsunuz. İşte bu bir algoritmadır.

Sadece PHP'yi bırakın, kodlama dillerinin en olmazsa olmazlarından biri olan Algoritmalar sayesinde onlarca işlem, mantık ve olaylar oluşturulabiliyor.

PHP'de Algoritmalar
"if" deyimi

if komutu, Türkçesiyle "Eğer", bir algoritmayı başlatmak için kullanılır. if komutunun argümanları olarak ta elemanlar ile matematiksel bazı operatörler vasıtasıyla ile koşullu bir formül belirlenir.

Yani, Eğer 1 sayısı 2'den küçükse... gibi bir deyimi, if komutuna operatörler vasıtasıyla aktarabiliriz.

Örnek Gösterim:

if (1 < 2)
{
// Olaylar
}

Burada, Eğer 1 rakamı, 2 rakamından küçükse süslü parantez içerisindeki olaylar(kodlar) olacak demiş olduk.

Şimdi bu operatörleri biraz tanıyalım.

< Küçüktür
> Büyüktür
<= Küçük veya eşit
>= Büyük veya eşit
== Eşitse
!= Eşit değilse
=== Aynıysa
!== Aynı değilse

Örnek formüller:
5 < 10 5 rakamı, 10'dan küçükse... (TRUE)
10 > 5 10 sayısı, 5 rakamından büyükse... (TRUE)
6 <= 8 6 rakamı, 8 rakamından küçükse veya eşitse... (TRUE)
12 >= 6 12 sayısı, 6 rakamından büyükse veya eşitse... (TRUE)
5 == 5 5 rakamı, 5 rakamına eşitse... (TRUE)
5 != 6 5 rakamı, 6 rakamına eşit değilse... (TRUE)
5 === 5 Integer türündeki 5 rakamı, Integer türündeki 5 rakamı ile aynıysa... (TRUE)
5 !== '5' Integer türündeki 5 rakamı, String türündeki 5 rakamı ile aynıysa... (FALSE)

Dikkat! Sayı yerine değişken ya da sabit gibi değer bildiren bir komut ta kullanabilirsiniz. Değişken türlerinden gördüğümüz; true/false, integer-string vs... gibi şeyler de burada geçerlidir.

Şimdi ise, bağlaç operatörlerini biraz tanıyalım.

Kelime halinde olanlar ile sembol halinde olanlar aynı işlevi görmektedir. İkisi de kullanılabilir.

and - && ve
or - || veya
xor - ^^ ayrıcalıklı veya
! değilse

Şimdi bunlarla da, örneğin, 1 rakamı ve 3 rakamı, 2 rakamına eşit değilse gibisinden ya da birden fazla formülü yanyana yazma gibi amaçlarla kullanabiliriz.

Birazcık karışık bir formül vereyim:
if (5 && 10 != 5+(5/2)+3 )
{
//...
}

Burada, 5 rakamı ile 10 sayısı, 5'in ikiye bölümünün 5 artmışının 3 artmışına eşit değilse... demiş oldum. Parantezi matematikteki işlem önceliği konusundan hatırlayabilirsiniz. Aynısı burada da geçerli.

Evet bayağı karışık olduğunun farkındayım ama ancak böyle anlatabildim. Anlamadıysanız yorum yazarak sorununuzu belirtin yardımcı olayım anlatayım. :)

"else" deyimi
Else, Türkçesiyle "Değilse", Algoritma'nın ikinci yapıtaşı oluyor. Eğer bir formüle tutarsız gelinirse ve eğer "else" deyimi tanımlanmışsa, else içerisindeki kodlar işlenir. If deyimindeki değil.

Örnek Kullanım:

$x = 16;
if (10 + 7 < $x)
{
echo 10 + 7.' sayısı, '.$x.' sayısından küçüktür.';
}
else
{
echo 10 + 7.' sayısı, '.$x.' sayısından büyüktür.';
}

Şimdi anlatayım.
x adında bir değişken oluşturdum ve değerini 16 olarak ayarladım.

Sonra da bir if deyimi açtım ve formülü olarak şunu belirttim: Eğer 10 + 7 (17), $x(16) değişkeninden büyükse;
Ekrana 17 sayısı, 16 sayısından küçüktür.
yazdır dedim.

Fakat 17 sayısı, 16 sayısından tabi ki de büyük olduğuna göre, altdaki else deyimimiz çalışacak.
Else deyimimizde de;

17 sayısı, 16 sayısından büyüktür çıktısı alınıyor echo ile.

Dolayısıyla, ekrana bu metin çıkacak, yani else deyimimiz çalışmış olacak.

"elseif" deyimi
Bu da, Değilse Eğer... manasında. Yani tutmayan bir formüle, ikinci ek bir formül koşulu belirtmek için kullanılır.

Yani, If deyimim tutuşmazsa, Elseif deyimimdeki diğer koşulumla eşleşecek. Eğer bu tutarsa, elseif deyimimdeki olaylar çalışacak.

Eğer bu da olmazsa, ya işlem duracak ya da en altta eğer belirtmişsem else deyimim otomatikman çalışacak.

Örnek Kullanım:

if (10 < 5)
{
echo "10 sayısı, 5 rakamından küçüktür.";
}
elseif (10 > 5)
{
echo "10 sayısı, 5 rakamından büyüktür.";
}

Haliylede, 10, 5'ten büyük olduğuna göre elseif deyimimdeki koşul tutacak ve bu deyimdeki olaylar gerçekleşecek.

Bir de şöyle bir örneğe bakalım:

if (1000 < 1000-1)
{
echo "1000,".1000-1."'den küçüktür.";
}
elseif (1000 == 1000-1)
{
echo "1000,".1000-1."'e eşittir.";
}
else
{
echo "1000,".1000-1."'den büyüktür.";
}

Once If deyimimize bakalım. 1000, 999'dan küçük değildir. Bu koşul atlandı ve elseif koşuluna bakalım. 1000, 999'a eşit değildir, bu durumda da else deyimimiz otomatikman çalışacak ve ekrana,

1000, 999'den büyüktür.

Metni yazdırılacak.

Dikkat! elseif deyimi her zaman else'den önce gelir. Eğer if deyiminden sonra else yazıp, hemen arkasındanda elseif deyimi belirtirseniz hata alırsınız. Çünkü else de hiçbir koşul belirtilmez. Çünkü bu deyim, hiçbir koşul tutmadığında çalışır. Koşula bağımlı değildir.

Kolay gelsin.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.