Menambahkan 1 ke suatu angka, atau mengurangkan 1 dari suatu angka, keduanya sangat umum dalam pemrograman komputer, dan PHP dapat menggunakan operator khusus untuk melakukan hal ini.
PHP mendukung dua jenis operator penambahan dan pengurangan, yaitu: Pra-Penambahan/Pengurangan (Pre-Incrementing/Decrementing) dan Pasca-Penambahan/Pengurangan (Post-Incrementing/Decrementing):
//pra-penambahan/pengurangan ++$a; --$a; //pasca-penambahan/pengurangan $a++; $a--;
Operator pra-penambahan/pengurangan ditempatkan sebelum nama variabel, dan Operator pasca-penambahan/pengurangan ditempatkan setelah nama variabel.
Variabel dengan operator tersebut setara dengan:
$a = $a + 1; $a = $a ‑ 1; $a = $a + 1; $a = $a ‑ 1;
Contoh
Berikut adalah contoh sederhana penggunaan pra-penambahan dan pasca-penambahan:
$a = 2; ++$a; //Setara dengan $a = $a + 1 $b = $a; echo $b; // 3
$a = 3; $a++; //Setara dengan $a = $a + 1 $b = $a; echo $b; //3
Pada contoh diatas, penggunaan operator penambahan baik pra maupun pasca untuk menambahkan satu nilai ke variabel $a berhasil dilakukan, dan keduanya sama-sama menghasilkan nilai 3. Lalu apa perbedaannya?.
Pada contoh diatas tidak ada perbedaan yang dapat dilihat dari penggunaan operator tersebut. Jika ingin melihat perbedaanya, mari kita lihat contoh lain berikut ini:
$a = 2; $b = ++$a; echo $b; // 3 $a = 2; $b = $a++; echo $b; // 2
Perbedaan
Perbedaannya yaitu terletak pada aturan. Aturannya adalah sebagai berikut. Bahwa operator pra-kenaikan/penurunan melakukan operasi kenaikan/penurunan terlebih dahulu dan kemudian memberikan nilai baru. Sedangkan Operator pasca kenaikan/penurunan akan mengirimkan nilai lama terlebih dahulu dan kemudian melakukan operasi penambahan/penurunan.
Jadi, jika melihat kembali pada contoh yang kedua diatas, untuk pra-penambahan, variabel $a bertambah satu dan kemudian nilai barunya diberikan ke variabel $b. Melakukan operasi penambahan terlebih dahulu kemudian memberikan nilai barunya ke varibel $b. Disini baik variabel $a maupun $b memiliki nilai yang sama.
$a = 2; $b = ++$a; echo $a; // 3 echo $b; // 3
Sedangkan untuk pasca-penambahan, nilai yang ada di variabel $a ditugaskan atau diberikan terebih dahulu ke variabel $b sebelum melakukan operasi penambahan (incrementing).
Nilai lama atau yang ada di variabel $a diberikan terlebih dahulu ke variabel $b setelah itu operasi dilakukan. Dengan begitu variabel $b menerima nilai yang lama sedangkan variabel $a memiliki nilai baru, karena bertambah 1.
$a = 2; $b = $a++; echo $a; // 3 echo $b; // 2
Dari sini kita telah melihat perbedaannya. Aturan yang dijelaskan diatas berlaku juga untuk operasi pengurangan (decrement).
Selesai
Dengan hanya beberapa contoh kiranya dapat dipahami. Silakan mencobanya.