PHP เป็นภาษาที่ยืดหยุ่นเรื่องตัวแปรมาก เราใช้ตัวแปรได้โดยไม่ต้องประกาศก่อน และประกาศตัวแปรได้โดยไม่ระบุประกาศชนิดของตัวแปร (variable’s type) ทำให้เขียนได้สะดวก เพราะ PHP จะเลือกชนิดของตัวแปรให้อัตโนมัติ แต่บางครั้งก็ก่อให้เกิดปัญหา เช่น สับสนระหว่าง ค่า 1 หรือ true บางครั้งอาจจะใช้วิธี คูณ หรือ บวกบังคับให้เป็นตัวเลข ความจริง PHPสามารถเปลี่ยนชนิดตัวแปรได้โดยการ casting ตัวแปร (PHP เรียกว่า Type Juggling) ทำโดยการระบุชนิดตัวแปรไปข้างหน้า เช่น
<?php
$foo = 10; // $foo เป็น integer
$bar = (boolean) $foo; // $bar เป็น boolean
?>