PHP از هشت نوع اولیه پشتیبانی مینماید.
چهار نوع خطی:
دو نوع ترکیبی:
و در نهایت دو نوع ویژه:
این راهنما همچنین چندین شبه انواع بدلایل خواندنی ارائه مینماید:
و شبه متغیرها $....
بعضی ارجاعات به نوع "double" در این راهنما باقی مانده است. double را همانند float در نظر بگیرید; این دو نام بدلایل تاریخی باقی ماندهاند.
نوع متغیر عموما توسط برنامهنویس معین نمیگردد; و به جای آن در زمان احرا توسط PHP براساس متن موجود در آن تعیین میگردد که متغیر استفاده شده است.
Note: برای بررسی نوع و مقدار یک عبارت از تابع var_dump() استفاده نمایید.
برای دریافت نمایش قابل خواندن توسط انسان برای رفع خطا از تابع gettype() استفاده نمایید. برای بررسی یک نوع خاص از gettype() استفاده نمایید اما از توابع is_type استفاده نمایید. تعدادی مثال:
<?php
$a_bool = TRUE; // a boolean
$a_str = "foo"; // a string
$a_str2 = 'foo'; // a string
$an_int = 12; // an integer
echo gettype($a_bool); // prints out: boolean
echo gettype($a_str); // prints out: string
// If this is an integer, increment it by four
if (is_int($an_int)) {
$an_int += 4;
}
// If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
برای تغییر اجباری نوع یک متغیر خاص از cast متغیر یا از تابع settype() بر روی آن استفاده نمایید.
توجه نمایید که یک متغیر ممکن است بصورتهای متفاوتی بسته به شرایط مورد تحلیل قرار گیرد که بر اساس نوع آن زمان تعیین میگردد. برای اطلاعات بیشتر بخش چشم بندی نوع را ببینید. جداول مقایسه انواع نیز مفید است چرا که مثالهایی متعدد درباره مقایسه انواع متغیر نشان میدهد.