Bende bugün bunu çalışıyordum. Hakkı öcal php kitabından anladım. Alttaki uygulmayı yaparsan daha iyi anlarsın.
<?php
$vize = 45;
$final = 65;
if ($vize >= 50 && $final >= 50) {
print ("Öğrenci geçti!");
}
else {
print ("Öğrenci kaldı!");
}
?>üstteki kodda && yerine || ve or olsaydı vize ve finalden herhangi birinden yüksek almak öğrencinin geçmesine yetiyor. ama && ve and kullanıldığı zaman vize ve finalin 50 ve üstü olması gerekiyordu.
yani;
|| ve or olduğunda : ikisinden biri yüksek not alacak.
&& ve and olduğunda ikisi 50'ye eşit ya da 50'den yüksek olacak.
Bir uygulama örneği daha vereyim size, üsttekini anlarsan iyi kavramana yardımcı olur hocam;
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ı!");
}
?>
Hakkı öcal'dan alıntıdır.