PHP'de Önek ve Sonnek Türü
Aslında artırma ve azaltma işlemleri
iki şekilde yazılabilir. Sonnek
biçiminde işlem değişken adından sonra yazılır,
şu şekilde: $a++, ve önek
biçiminde - değişken adından önce, şu şekilde:
++$a. Örneklerle, iki yöntem arasındaki
farkı görelim.
Aşağıdaki örnekte ilk echo
0 değerini yazdıracak,
çünkü önce ekrana yazdırma işlemi gerçekleşecek,
ardından değişken artacak:
<?php
$num = 0;
echo $num++; // 0 yazdırır, çünkü değişken sadece echo'dan sonra artacak
echo $num; // 1 yazdırır - değişken değişti
?>
Şimdi ise değişken önce artacak, ardından ekrana yazdırma işlemi gerçekleşecek:
<?php
$num = 0;
echo ++$num; // 1 yazdırır - değişken hemen arttı
?>
Bu davranış sadece ekrana yazdırma için değil, atama işlemi için de geçerlidir:
<?php
$num1 = 0;
$num2 = $num1++; // $num2 değişkenine 0 yazılacak
echo $num2; // 0 yazdırır
echo $num1; // 1 yazdırır - $num1 değişkeni $num2'ye yazdıktan sonra değişti
?>
Şimdi sonnek formunu önek formuyla değiştirelim:
<?php
$num1 = 0;
$num2 = ++$num1; // $num2 değişkenine 1 yazılacak
echo $num2; // 1 yazdırır
?>
Eğer işlemimiz ayrı bir satırda gerçekleşiyorsa, önek ve sonnek formları arasında bir fark yoktur:
<?php
$num = 0;
++$num;
$num++;
echo $num; // 2 yazdırır
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num = 3;
echo ++$num;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num = 3;
echo $num++;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num = 3;
echo --$num;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num = 3;
echo $num--;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num1 = 3;
$num2 = ++$num1;
echo $num1;
echo $num2;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num1 = 3;
$num2 = $num1++;
echo $num1;
echo $num2;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num1 = 3;
$num2 = --$num1;
echo $num1;
echo $num2;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num1 = 3;
$num2 = $num1--;
echo $num1;
echo $num2;
?>
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
<?php
$num1 = 3;
$num1++;
$num2 = $num1--;
echo $num1++;
echo --$num2;
?>