You are on page 1of 32

PHP

PHP Koşullu İfadeler (Conditional Statements)


- Koşullu ifadeler, farklı koşullara göre farklı eylemler gerçekleştirmek için kullanılır.

- Çoğu zaman kod yazarken, farklı koşullar için farklı eylemler gerçekleştirmek isteriz.

• if – koşul doğru ise kodları çalıştırır.


• if...else – bir koşul doğruysa kodu çalıştırır değilse diğer kodları çalıştırır.
• if...elseif...else – ikiden fazla koşul için farklı kodları çalıştırır
• switch – yürütülecek birçok kod bloğundan birini seçer ve çalıştırır
if ifadesi sözdizimi :

if (koşul) {
koşul doğru ise çalışacak kodlar;
}

$t = 14;
if ($t < 20) {
echo "İyi günler!";
}
if…else ifadesi:
if (koşul) {
koşul sağlanır ise (true) çalışacak kodlar;
} else {
koşul sağlanmaz ise (false) çalışacak kodlar;
}

$t = 14;
if ($t < 20) {
echo "İyi günler!";
} else {
echo "İyi akşamlar!";
}
if…elseif…else ifadesi:

if (koşul_1) {
koşul true ise çalışacak kodlar;

} elseif (koşul_2) {
ilk koşul false ise ve bu koşul true ise çalışacak kodlar.
.
.
.
} else {
tüm koşullar false ise çalışacak kodlar.

}
$t = 8;

if ($t < 10) {


echo "Günaydın!";

} elseif ($t < 20) {


echo "İyi günler!";

} else {
echo "İyi Akşamlar!";

}
switch ifadesi:Yürütülecek bir çok kod bloğundan birini seçmek için switch kullanırız.
switch (n) {
case label1:
code to be executed if n=label1;
break;
case label2:
code to be executed if n=label2;
break;
case label3:
code to be executed if n=label3;
break;
...
default:
code to be executed if n is different from all labels;
}
Bu komut şu şekilde çalışır:

- İlk olarak, tek ifade n (genellikle bir değişkendir) bir kez değerlendirilir.

Daha sonra bu ifadenin değeri Switch yapısının her bir Case'sinin değerleriyle
karşılaştırılır. Eşleşen bir değer varsa, onunla ilişkili kod parçası (case ) yürütülür.

- Break komutu, kodun otomatik yürütme için bir sonraki duruma girmesini önlemek
için kullanılabilir.

Switch yapısında n ifadesinin değeri için aynı değer bulunamadığı durumlarda


default ifadesi kullanılır.
<?php
$favcolor = "red";

switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>
- İf else if yapısı ile haftanın günleri örneği:
<?php
$gun = 6;
if($gun == 1)
echo " Pazartesi Günündeyiz";
else if($gun == 2)
echo " Salı Günündeyiz";
else if($gun == 3)
echo " Çarşamba Günündeyiz";
else if($gun == 4)
echo " Perşembe Günündeyiz";
else if($gun == 5)
echo " Cuma Günündeyiz";
else if($gun == 6)
echo " Cumartesi Günündeyiz";
else if($gun == 7)
echo " Pazar Günündeyiz";
else echo "Malesef Böyle Bir Gün Yok :";
?>
switch case yapısı ile haftanın günleri örneği: <?php
$gun = 6;
switch($gun) {
case 1: echo " Pazartesi Günündeyiz";
break;
case 2: echo " Salı Günündeyiz";
break;
case 3: echo " Çarşamba Günündeyiz";
break;
case 4: echo " Perşembe Günündeyiz";
break;
case 5: echo " Cuma Günündeyiz";
break;
case 6: echo " Cumartesi Günündeyiz";
break;
case 7: echo " Pazar Günündeyiz";
break;
default: echo "Malesef Böyle Bir Gün Yok :(";
break;
}
if…else ve switch alternatif kullanımları
if…else ve switch için aşağıdaki alternatif kullanımları da vardır

$a =5; $a =5;

// Alternatif if else kullanımı. // Alternatif switch kullanımı.

if($a == 5) switch($a){
case 5:
echo "\$a'nın değeri: 5"; echo "\$a'nın değeri 5";
break;
elseif($a == 4)
case 4:
echo "\$a'nın değeri: 4"; echo "\$a'nın değeri 4";
break;
else default:
echo "\$a'nın değeri: " . $a;
echo "\$a'nın değeri: " . $a; endif;
}
PHP Döngüler (Loops)
Php'deki döngüler şunlardır:
- for : bir döngünün önceden belirlenen sayıda tekrarlanması.
- while : bir koşul karşılanana kadar döngünün yürütülmesini tekrarlamak.
- do….while : bir kod parçasını bir kez yürütün, ardından belirli bir koşul karşılanana kadar
döngüyü tekrarlayın.
- foreach : bir dizinin her elemanı için bir kod parçasını tekrarlamak.
For Döngüsü Yapısı:
For döngüsünde ise for yazdıktan sonra parantezler içine
döngü değişkenimizin başlangıç değeri, döngü koşulumuz ve
döngü değişkeni işlemi(artır azalt,çarp böl) yapıyoruz.
Küçük bir örnek verecek olursak:
For döngüsünün yapısı aşağıdaki gibidir.

<?php
for($baslangicDegeri ; $kosul ; $donguDegisken iIslemi)
{
// çalışacak kodlar
}
?>
for ( initialization; condition; increment )
{
// body
}
Örneğin: arasındaki sayıların toplamını ekrana yazdıran bir örnek yapalım.

<?php
$toplam = 0;
for( $i=1 ; $i<=5 ; $i++) {
$toplam +=$i;
}
echo “Örneğin arasındaki sayıalrın toplamı : $toplam";
?>
while Döngüsü :
While döngüsü belirli bir koşul doğrulanıncaya kadar kod parçasını
tekrarlar. While döngüsü şu şekilde yazılır:

while (kosul)
{
islemler; while (koşul true ise)
{
islemler; kod çalıştırılır;
. }
.
.

artırma/azaltma;
}
- While döngüsünde döngü değişkenimize döngüden önce bir değer veriyorduk ve döngü
içinde artırma azaltma gibi işlemleri yapıyorduk.
<?php
$baslangic = 0;
while ($baslangic < 10 ){
echo $baslangic++.'--’;
}
?>

while(true){
echo 'test-’; //bu sonsuz bir döngüdür.
}
do…while:
do…while döngüsü her zaman bir kod parçasını bir kez çalıştırır, ardından koşulu kontrol
eder ve belirtilen koşul karşılanırsa döngünün yürütülmesini tekrarlar. do...while
döngüsünün sözdizimi aşağıdaki gibidir:

do{
// çalıştırılacak kodlar

}while(koşul);
Soru : Do while döngüsü kullanarak ekrana 10 defa ‘evrensel kod’ yazdıran programın Php
kodunu yazınız.
Cevap :
<?php
$i = 0;
do{
print("evrensel kod <br>");
$i++;
}while($i<10);
?>
Sonsuz Döngülerin Kullanım Şekli:
- Sonsuz döngü oluşturmanın en basit şekli while döngüsünde koşul yerine 1(true )
yazarak,
- for döngüsünde ise koşul ve değişken yerleri boş bırakılarak yani sadece iki tane noktalı
virgül(;;) kullanılarak yapılır. örneğin:

For ( ; ; ) {
while(1) {
// sonsuz döngüdeyiz. // sonsuz döngüdeyiz
}
}
break ve continue deyimleri:
break deyimi: girilen kod bloğunun bir dışına çıkmamızı sağlar. en basit anlama yöntemi
hangi döngüye ait süslü parantezin içine break yazarsak o süslü parantezin bir dışına çıkar.
- if lere ait süslü parantezlerle döngüye ait süslü parantezi karıştırmamaya dikkat etmemiz
gerekir.
- continue deyimi: Döngü içinde continue yazdığımız kısımdan sonraki kodlar çalıştırılmaz ve
döngü başa dönerek bir sonraki adıma geçer.
While ile: while(1) {
$n = rand(1,1000);
if($n % 5 == 0) {
echo "$n değişkeni 5 e bölünüyor döngü burda biter. <br/>";
break;
} else {
echo "$n değişkeni 5 e bölünmediği için döngü devam ediyor.<br/>";
}
}
…..
For ile :
for(;;) {
$n = rand(1,1000);
if($n % 5 == 0) {
echo "$n değişkeni 5 e bölünüyor döngü burda biter. <br/>";
break;
}else {
echo "$n değişkeni 5 e bölünmediği için döngü devam ediyor.<br/>";
}
}
Örneğin: 1 ile 10 arasındaki çift sayıları hesaplayan ve ekrana yazdıran bir program yazın

for($i=1 ; $i<=10 ; $i++) {


if($i % 2 ==1)
continue; // eğer sayı eksa aşağıdaki kodları çalıştırma döngünün
bir sonraki adımından devam et
echo "$i -";
}
İç İçe Döngüler:
For döngüsü olsun, while döngüsü olsun tüm döngüleri iç içe kullanmamızda herhangi bir
sakınca yoktur. for döngüsü içine while, while içinde for gibi istediğimiz şekilde kullanım
kombinasyonu yapabiliriz. İç içe döngüleri ilerleyen derslerimizde göreceğimiz diziler
dersimizde ne kadar çok işe yaradığını göreceğiz. İç içe döngülerle örnek yapacak olursak:
Örneğin: 1 den 15 e kadar olan sayıların faktoryelini bulan programımızı for ve while
döngülerini kullanarak bulalım.
$sayi = 1;
while($sayi <= 15) {
$fact = 1;
for( $i=1 ; $i <= $sayi ;$i++) {
$fact *= $i;
}
echo "$sayi sayısının faktoryeli: $fact <br/>";
$sayi++;
}
foreach döngüsü:
- PHP'deki foreach döngüsü yalnızca diziler için kullanılır.
- Bu döngü, dizideki her anahtar/değer çifti arasında geçiş yapmak için kullanılır.
- PHP'de foreach döngüsünün komut dosyası aşağıdaki gibidir:

foreach ($array as $value) {


code to be executed;
}
Örnek:
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
Output:
<?php
$names = array( "Omid", "Nazanin", "Ehsan", "Mina" ); • Omid
• Nazanin
echo '<ul>’; • Ehsan
foreach ( $names as $name ) { • Mina

echo '<li>' . $name . '</li>’;


}
echo '</ul>’;
?>
- Bir döngü içerisinde hem anahtara(key) hem de degree(value) erişmek istiyorsak bu
yöntemi kullanırız.

Örnek: Öğrencilerin adlarını ve notlarını içeren bir dizimiz olduğunu varsayalım.


Anahtar olarak kişilerin isimleri ve not ortalamaları her bir unsurun değeridir;
Aşağıdaki diziye benzer: $all = array( "Elena" => 18.21,
"Ehsan" => 15.73,
"Mina" => 16.37,
"Sina" => 17.66, );
Her kişinin adını ve notunu bir listede görüntülemek için aşağıdaki kodu kullanırız:

<?php
$all = array( "Elena" => 18.21,
"Ehsan" => 15.73,
"Mina" => 16.37,
"Sina" => 17.66, );
echo '<ul>’;
foreach ( $all as $name => $avg ) {
echo '<li>' . $name . ' (' . $avg . ')</li>’;
}
echo '</ul>’;

You might also like