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<?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<?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<?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<?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<?php
  $num = 0;
  ++$num;
  $num++;
  echo $num; // 2 yazdırır
?>
Задание 1

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num = 3;
  echo ++$num;
?>
Задание 2

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num = 3;
  echo $num++;
?>
Задание 3

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num = 3;
  echo --$num;
?>
Задание 4

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num = 3;
  echo $num--;
?>
Задание 5

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num1 = 3;
  $num2 = ++$num1;
  echo $num1;
  echo $num2;
?>
Задание 6

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num1 = 3;
  $num2 = $num1++;
  echo $num1;
  echo $num2;
?>
Задание 7

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num1 = 3;
  $num2 = --$num1;
  echo $num1;
  echo $num2;
?>
Задание 8

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num1 = 3;
  $num2 = $num1--;
  echo $num1;
  echo $num2;
?>
Задание 9

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

php<?php
  $num1 = 3;
  $num1++;
  $num2 = $num1--;
  echo $num1++;
  echo --$num2;
?>