نکته شماره 4 : کار با داده ها در php
مانند اکثر زبانهای برنامه نویسی زبان برنامه نویسی php نیز از یک سری داده پشتیبانی میکند .
اما به دلیل اینکه php وقتی به یک نوع داده ای برخورد میکند خودش اقدام به تشخیص آن میکند این مورد کمتر مورد توجه برنامه نویسان این زبان قرار گرفته است . در این بخش میخواهم شما را با نوشتن نوع داده ها , تشخیص و تغییر نوع آنها آشنا کنم .
برخی از داده هایی که در زبان php پشتیبانی میگردد عبارتند از :
Integer , Double , String , Boolean , Array ,float و ....
مثلا اگر شما برای مقدار دهی یک عدد به صورت زیر عمل کنید :
$Number = 12 ;
زبان php مقدار متفیر فوق را به عنوان Integer در نظر میگیرد اما اگر شما برای تعریف همین متغیر به صورت زیر عمل نمادئید :
$Number = “12”;
زبان php این متغیر را به عنوان نوع String در نظر خواهد گرفت . علتشم که واضحه , برای تعریف این متغیر به دلیل گذاشتن Double qutetion این متغیر به صورت String در نظر گرفته شده است .
تعریف داده ها :
همانطور که در بالا اشاره کردم شما میتونید با استفاده از همان قاعده گفته شده نوع داده ای را مشخص کنید علاوه بر اون این امکان وجود دارد که شما این کار رو به صورت مستقیم انجام دهید برای این منظور به مثال زیر توجه کنید :
$Number = (integer) 12;
یا
$Number = (float) 17.15;
در مورد تعریف نوع داده ای string نیازی به این کار نیست و با همان double qutetion آنها تعریف میشوند . این روش تعریف داده ها برای Integer , Double , Boolean , float قابل استفاده است .
تشخیص نوع داده ای :
برای تشخیص نوع داده ای یک متغیراز تابع gettype($variable)
استفاده میکنیم . مثلا :
$Number = 12 ;
Echo gettype($Number);
که خروجی این مثال مقدار Integer است و یا :
$Number = 12.5 ;
Echo gettype($Number);
دارای مقدار double میباشد .
علاوه براین تابع ( gettype ) روش دیگری هم برای تشخیص نوع داده وجود دارد که با استفاده از توابع زیر این عمل اتفاق میافتد :
is_string ( $variable );
is_int ( $variable );
is_double ( $variable );
و .....
خروجی این توابع False یا True میباشد . سایر توابع از این دست رو میتونید از راهنمای php استخراج کنید .
تبدیل نوع داده ها به یکدیگر :
این مبحث بسیار طولانی میباشد و خلاصه ای از مطالب رو اینجا اشاره میکنم .
ساده ترین روش برای این منظور استفاده از تابع settype است , روش استفاده از اون به صورت زیر میباشد :
$No1= (integer) 19;
;(Settype ( $No1 , “float”
در این مثال نوع مقدار No1 بدون هیچ گونه تغییری به نوع float تبدیل شده است . با استفاده از همین روش میتوان مقادیر مختلف را به یکدیگر تبدیل کرد . اما گاهی اوقات عمل تبدیل نوع داده ها با تغییراتی همراه است . مثلا :
$foo = “12asdasd”;
settype($foo, "integer");
مقدار $foo جدید برابر 1 میباشد .
و یا :
$bar = true;
settype($bar, "string");
مقدار $bat جدید 1 است .
مسلما این مطالب کامل نیست و باید با کمی مطالعه راهنمای php به تمامی نکات این عمل آشنا بشوید .
تنها نکته ای که باید در اینجا به اون اشاره کنم استفاده از === ( سه تا علامت مساوی ) است که به کمک آن علاوه بر بررسی مقدار دو متغیر , نوع دو متغیر را نیز بررسی میکند و در صورت برقراری هر دو شرط مقدار True را باز میگرداند .
$No1 = (double) 12;
$No2 = (integer) 12 ;
If ($No1 === $No2 )
Echo ‘Ok’;
در این مثال شرط گذاشته شده برقرار نمیباشد