Sebenarnya, PHP tidak membutuhkan (atau tidak mendukung) pendefinisian tipe data variabel atau pun pendeklarasian variabel secara eksplisit. Berbeda dengan pemrograman lain, di mana tipe variabelnya ditentukan berdasarkan konteks bagaimana variabel tersebut dipergunakan.
Boleh dikatakan, jika variabel $var ditetapkan sebagai string, $var akan menjadi string. Jika $var ditetapkan menjadi integer, $var akan berubah menjadi integer.
Oleh sebab itu, PHP memiliki tipe juggling. Tipe juggling cukup menarik untuk diketahui karena mungkin tidak dimiliki oleh bahasa pemrograman lain. Pemakaian tipe juggling dapat memudahkan programmer, tetapi bisa juga membahayakan jika tidak berhati-hati dalam penggunaannya, karena nilai yang dihasilkan tidak sesuai dengan yang diharapkan.
Perhatikan contoh berikut ini:
<?php
$foo = "0"; // $foo adalah string (ASCII 48)
echo $foo . "<br>";
$foo += 2; // $foo sekarang menjadi integer (2)
echo $foo . "<br>";
$foo = $foo + 1.3; // $foo sekarang menjadi float (3.3)
echo $foo . "<br>";
$foo = 5 + "20 kambing"; // $foo adalah integer (25)
echo $foo . "<br>";
$foo = 5 + "20 kambing kecil"; // $foo adalah integer (15);
echo $foo . "<br>";
?>
*) Dari berbagai sumber
