Materi
Operator aritmetika PHP adalah `+`, `-`, `*`, `/`, `%` (sisa bagi), dan `**` (pangkat). Pembagian `/` menghasilkan float bila tidak habis dibagi: `7 / 2` bernilai `3.5`, bukan 3. Untuk hasil bagi bulat, pakai `intdiv(7, 2)` yang bernilai 3.
PHP mengubah tipe secara otomatis saat dibutuhkan. `"5" + "3"` bernilai 8 karena kedua string berisi angka, sedangkan `"5" . "3"` bernilai `"53"` karena titik menggabungkan teks. Cast `(int)` mengubah nilai ke bilangan bulat secara paksa: `(int) "25 porsi"` bernilai 25 karena angka di depan diambil, dan `(int) "abc"` bernilai 0.
Perbandingan `==` membandingkan nilai setelah tipe disamakan, sedangkan `===` juga mensyaratkan tipe yang sama. Jadi `"0" == 0` bernilai true, tetapi `"0" === 0` bernilai false. Sejak PHP 8, string yang bukan angka dibandingkan dengan angka sebagai teks, sehingga `"abc" == 0` bernilai false; di PHP 7 nilainya true, dan contoh lama di internet masih menulis begitu.
Untuk menampilkan Rupiah, `number_format($angka, 0, ',', '.')` memakai nol desimal, koma sebagai pemisah desimal, dan titik sebagai pemisah ribuan. Tanpa argumen tambahan, `number_format(1250000)` menghasilkan `1,250,000` dengan gaya Inggris.