برای اینکه php (بصورت بالقوه) در تغییر نوع داده در یک متغیر می تواند با مدارا عمل کند. ولی بعضی اوقات حفظ و ثبات و کنترل نوع داده یک متغیر نه تنها نیاز است بلکه یک ضرورت هم است. خوشبختانه زمانی که متغیرهای php می توانند تغییر نوع روی هوا انجام دهند، راه هایی نیز همچنان برای جلوگیری و نگهداری نوع مشخص یک داده هنوز همچنان باقیست. Php از هر دوی نقش های مکرر و مشابه و متدها که یک متغیر را در یک نوع داده محدود کند، پشتیبانی می کند.
نوع داده |
توضیح |
Boolean |
هر دو مقادیر True یا False را ذخیره می کند. |
Double |
مقدار عددی را ذخیره می کند که شامل یک عدد اعشاری باشد ( همان float ) |
Array |
آرایه ای که شامل محتوی شماره دار مقدار دار است را ذخیره می کند. |
Null |
متغیری را ارائه می دهد که هیچ مقداری ندارد. |
Integer |
مقدار عددی را ذخیره می کند که عدد کامل باشد. |
String |
دسته های کاراکتر را ذخیره می کند. |
Object |
یک نمونه از کلاس تعیین شده را ذخیره می کند. |
Resource |
رفرنس به یک منبع خارجی را نگه می دارد. |
دو چیز همه گیر در توابع php، ست کردن (set) و گرفتن get مقدار یک متغیر است. Gettype() و Settype() ماهرانه نام گذاری شده اند. آنها دقیقا همان چیزی که حدس می زنید را انجام می دهند. تابع gettype یک مقدار رشته ای حاوی نوع داده بر می گرداند. تابع settype() متغیر را ست و تعیین می کند و نوع داده را نیز با آن تعیین می کند.
1 2 |
bool settype ( mixed &var, string type ) string gettype ( mixed var ) |
در این مورد، هر نوع داده با یک نابع که با is_ شروع می شود، مطابقت می کند. اگر شما کاملا در مورد اینکه نوع داده متغیر چه هست، بی اطلاعید، در نتیجه توجه چندان و کافی در اینکه چه در کد و اسکریپت شما نیز می گذرد، نخواهید داشت یا از آن برای بعضی از دیباگ های حجیم و عظیم استفاده می کنید.
نوع داده |
نوع مقدار بازگشتی |
تابع |
Boolean |
bool |
is_bool ( mixed var ) |
Integer |
bool |
is_int ( mixed var ) |
Double |
bool |
is_float ( mixed var ) |
String |
bool |
is_string ( mixed var ) |
Array |
bool |
is_array ( mixed var ) |
Object |
bool |
is_object ( mixed var ) |
Resource |
bool |
is_resource ( mixed var ) |
NULL |
bool |
is_null ( mixed var ) |
مثال کدی زیر نشان می دهد که چگونه از is_function برای معین کردن یک نوع داده و سپس کار با آن در صورت نیاز استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php //این یک متغیر نمونه است. البته کاملا به خوبی مشخص است نوع آن رشته ایست. $moteghayere_namalom = "سلام دنیا"; echo gettype ($moteghayere_namalom) . "<br />"; //رشته را خروجی می دهد. //The gettype is quite slow; the better way to do this is: // تابع گت تایپ خیلی کند است. راه بهتر برای انجام کار بصورت زیر است : if (is_string ($moteghayere_namalom)){ // سپس در صورت تایید رشته بودن، کاری که می خواهید را انجام دهید echo "داده یک رشته است<br />"; } ?> |
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)