
در این بخش ، از سری آموزش PHP شما را با تابعهای مربوط به دادهها از قبیل تبدیل نوع ، چک کردن نوع فعلی و... آشنا خواهیم ساخت ، همچنین در این بخش شما را با ثابتها در PHP آشنا خواهیم ساخت.
تغییر نوع دادهها به صورت مستقیم در PHP :
همانطور که در بخشهای پیشین گفته بودیم ، زبان PHP شامل چندین نوع ، نوع داده ای میباشد ، از قبیل : integer , string , object , array و... در این بخش قصد داریم پس از تعریف متغیر ، در هنگام نیاز ، نوع داده ای خود را با استفاده از تابعهای از پیش آماده شده در زبان php تبدیل نمائیم.
دادهها در زبان php ، بسیار ساده هستند ، و البته هوشمند ، اما شاید از خودتان بپرسید چرا از کلمه هوشمند استفاده کردم؟؟؟برای درک هوشمندی دادهها در php به مثال زیر توجه نمائید :
<?php $result=50; // integer $string = "100"; // string echo $output = $result + $string; ?></p> <p style="text-align: left;">
بعد از اجرا کردن کد فوق ، حتما خروجی را مشاهده نموده اید ، که برابر با 150 میباشد ، اما چرا 150؟؟؟
در قسمت اول کد فوق ، ما یک متغیر با مقدار 50 تعریف نموده ایم و در خط دوم یک متغیر دیگر با مقدار رشته 100 ، توجه کنید رشته 100 تعریف نموده ایم (این متغیر در حال حاضر یک رشته محسوب میشود و یک عدد نیست!) و در خط آخر کد ، ما دو متغیر را با یکدیگر جمع نموده ایم ، سپس در یک متغیر قرار داده ایم و آن را چاپ کرده ایم.
اما نکته قابل اینجاست که در زمان جمع کردن دو متغیر ، php به صورت هوشمندانه تبدیل نوع را انجام میدهد و متغیر رشته ای ما را به یک integer تبدیل میکند.
حال به مثال زیر نیز توجه نمائید :
<?php $result="7 learn"; // integer $string = 20; // string echo $output = $result + $string; ?>
به نظر شما خروجی کد فوق چیست؟؟؟ در خط اول این کد ، ما یک متغیر با مقدار 7 learn تعریف نموده ایم ، سپس یک متغیر دیگر با مقدار 20 ایجاد نموده ایم اما وقتی که دو متغیر پس از اعمال جمع ، چاپ نموده ایم ، خروجی به ما 27 نمایش داده است ، پس شاید تا به حال متوجه شده باشید که php از رشته صرف نظر نموده و فقط اعداد را با یکدیگر جمع میکند.
دریافت نوع داده ای یک متغیر :
اگر شما بخواهید بفهمید که یک متغیر از چه نوع داده ای میباشد ، و یا قصد دارید در یک شرط و حلقه ، مشخص کنید که متغیر شما اگر از نوع خاماصی بود کار خاصی را انج دهد، از تابع gettype استفاده میشود.
تابع gettype ، نوع متغیر مورد نظر شما را بر میگرداند ، که 8 مقدار را از قبیل integer , boolean , double , object ,resource , string , unknown type بر میگرداند.
به مثال زیر توجه نمائید :
<?php $result="7 learn"; // integer $string = 20; // string echo gettype($string) . "<br>"; echo gettype($result) . "<br>"; ?>
در مثال فوق ، با استفاده از تابع gettype ، نوع متغیرهای ایجاد شده توسط ما را چاپ مینماید.
برای آشنایی بیشتر به مثال زیر نیز توجه نمائید :
<?php $data = array(1, 1., NULL, new stdClass, 'foo'); foreach ($data as $value) { echo gettype($value) . "<br>", "\n"; } ?>
در قطعه کد فوق ، ما یک آرایه ، متشکل از چندین نوع ، نوع داده ای تعریف نموده ایم ، سپس با قرار دادن یک حلقه برای روی آرایه (foreach) و استفاده از تابع gettype نوعهای مقادیر آرایه را بر میگردانیم .
تابعهای تعیین کننده ی نوع داده ای :
حدود 10 تابع در php وجود دارد که برای تعیین نوع یک متغیر به کار میروند :
- is_array :مشخص کننده متغیری از نوع آرایه میباشد.
- is_bool : مشخص میکند که آیا متغیر از نوع boolean هست یا خیر.
- is_floot : مشخص میکند که آیا متغیر اعشاری است یا خیر.
- is_integer : مشخص میکند که آیا متغیر از نوع صحیح است یا خیر.
- is_null : مشخص میکند که آیا متغیر از نوع تهی است یا خیر.
- is_numeric : مشخص میکند که آیا متغیر از نوع عددی است یا خیر.
- is_object : مشخص میکند که آیا متغیر یک شی است یا خیر.
- is_resource : این تابع برای مشخص کردن وجود منبع میباشد .
- is_scalar : مشخص میکند که آیا متغیر از نوع عددی است یا خیر.
- is_string : مشخص میکند که آیا متغیر از نوع رشته ای است یا خیر.
مثال هایی برای تعیین کننده ی نوع متغیر :
<?php $var=5; if(is_null($var)) echo 'null'; if(is_string($var)) echo 'string'; if(is_array($var)) echo 'array'; if(is_int($var)) echo 'integer'; if(is_bool($var)) echo 'boolean'; if(is_float($var)) echo 'float'; ?>
در قطعه کد فوق ، یک متغیر با مقدار 5 که میشود از نوع integer تعریف نموده ایم ، سپس این متغیر با تابعهای مختلف تعیین نوع ، مقایسه میشود و خروجی ما integer بر میگردد.
یک مثال برای resource :
<?php $db_link = @mysql_connect('localhost', 'mysql_user', 'mysql_pass'); if (!is_resource($db_link)) { die('Can\'t connect : ' . mysql_error()); } ?>
در قطعه کد بالا ، ما از دیتابیس استفاده نموده ایم ، فعلا به کد اصلی کاری نخواهیم داشت ، در فصلهای آینده کار با دیتابیس را خواهیم گفت ، ولی در خط دوم این قطعه کد ، ما یک شرط قرار داده ایم که اگر آدرس ویا اطلاعات دیتابیس ما غلط بود (با استفاده از is_resource) ، برنامه exit شود.
ثابتها در php :
در ابتدا بهتر مفهوم ثابت را برای شما قابل درک نمائیم ، ثابت دقیقا کاربردی همانند یک متغیر را دارد ولی با این تفاوت که مقدار یک ثابت ، در طول برنامه ، به هیچ عنوان تغییر پیدا نمیکند و تنها مقدار اوایه خود را حفظ مینماید ، ثوابت در php بدین صورت تعریف میشوند:
<?php define("milad",17); ?>
ثابتها در برنامهها بسیار کاربردی هستند ، اگر بخواهیم یک مثال برای درک مفهوم ثوابت بزنیم ، عدد پی یا 3.14 بهترین مثال است :
<?php define("PI",3.14); echo $result= 5 * PI; ?>
برای تعریف یک ثابت از علامت $ استفاده نمیشود ، همچنین برای چاپ مقدار یک ثابت نیز از $ استفاده نمیشود.
بعد از اینکه یک ثابت را با مقدار اولیه تعریف نمودید ، در طی برنامه ، به هیچ عنوان نمیتوانید مقدار آن را تغییر دهید.
ثابتها همواره و به صورت Default در php به صورت Global یا عمومی تعریف میشوند ، و در کل برنامه قابل دسترسی هستند.
ان شاالله در قسمت بعدی آموزش ، شما را با نوشتن تابع ، تابعهای بازگشتی ، و قلمرو متغیرها آشنا خواهیم ساخت ، قسمت بعدی آموزش ، قسمت پایانی بخش Basic آموزش php میباشد ، به امید خدا ، اولین پروژه کاربردی را از جلسه بعد شروع خواهیم کرد.
ba salam
mataleb khobe faghat lotf konid to porojhe tozih bedin
سلام.آقا میلاد مطلب مفیدی بو د تشکر.لقمان جان مطلب فرستادم .بزارش بی زحمت.فعلاً
دیر ب دیر میپستی این بخشو حاج میلاد.اما خو بازم دمت مشعل المپیک.
مطلب مفیدی بود … مثل بقیه مطالبت .
شما لطف دارید
خسته نباشید