اعداد در PHP
در این آموزش به طور کامل اعداد در PHP را بررسی می کنیم.
نکته ای که در مورد زبان PHP قابل توجه است این می باشد که PHP به طور خودکار نوع داده متغیر ها را مشخص می کند.
بنابراین، اگر یک مقدار صحیح را به یک متغیر اختصاص دهید، نوع آن متغیر به طور خودکار یک عدد صحیح خواهد بود. سپس، اگر رشته ای را به همان متغیر اختصاص دهید، نوع آن به رشته تغییر می کند.
این تبدیل خودکار گاهی اوقات می تواند کد شما را خراب کند.
فهرست اعداد در PHP:
- اعداد صحیح (Integer)
- اعداد اعشاری (Float)
- اعداد بی نهایت (Infinity)
- اعداد تعریف نشده (NaN)
- رشته های عددی
- تبدیل اعداد اعشاری به اعداد صحیح
اعداد صحیح در PHP
integer یک نوع داده عددی صحیح (بدون اعشار) بین -2,147,483,648 و 2,147,483,647 می باشد.
به عنوان مثال اعداد 2 یا 2355 یا -23456 اعداد صحیح هستند.
نوع داده عدد صحیح در سیستم های 32bit بین -2,147,483,648 و 2,147,483,647 و در سیستم های 64bit بین -9223372036854775808 و 9223372036854775807 می باشد.
توجه: اعداد اعشاری مانند 3.5 یا 236.64 از نوع float هستند.
به عنوان مثال اگر عدد 4 * 2.5 برابر است با 10 باز هم این نوع داده به عنوان float ذخیره می شود زیرا عدد 2.5 اعشاری و از نوع float می باشد.
قوانین برای اعداد صحیح:
- یک عدد صحیح باید حداقل یک رقم داشته باشد.
- یک عدد صحیح نباید دارای اعشار باشد.
- یک عدد صحیح می تواند مثبت یا منفی باشد.
- اعداد صحیح را می توان به صورت اعشاری (مبنای 10)، هگزادسیمال (مبنای 16)، اکتال (مبنای 8)، یا باینری (مبنای 2) مشخص کرد.
PHP دارای ثابت های از پیش تعریف شده برای اعداد صحیح می باشد:
- PHP_INT_MAX – بزرگترین عدد صحیح پشتیبانی شده
- PHP_INT_MIN – کوچکترین عدد صحیح پشتیبانی شده
- PHP_INT_SIZE – اندازه یک عدد صحیح بر حسب بایت
توابع زیر بررسی میکنند که یک مقدار داده عدد صحیح هست یا خیر:
- is_int()
- is_integer() – alias of is_int()
- is_long() – alias of is_int()
مثال
بررسی کنید که آیا نوع متغیر عدد صحیح است یا خیر:
<?php
$x = 5985;
var_dump(is_int($x));
$x = 59.85;
var_dump(is_int($x));
?>
خروجی:
bool(true)
bool(false)
اعداد اعشاری Float در PHP
متغیر های عددی از نوع Float اعداد اعشاری هستند.
به عنوان مثال اعداد: 2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 از نوع float هستند.
نوع داده float معمولاً می تواند مقداری تا 1.7976931348623E+308 (وابسته به نوع پلتفرم) را ذخیره کند و حداکثر دقت 14 رقمی دارد.
PHP دارای ثابت های از پیش تعریف شده برای float ها است (از نسخه PHP 7.2):
- PHP_FLOAT_MAX – بزرگترین عدد اعشاری قابل نمایش.
- PHP_FLOAT_MIN – کوچکترین عدد اعشاری مثبت و قابل نمایش.
- – PHP_FLOAT_MAX – کوچکترین عدد اعشاری منفی و قابل نمایش.
- PHP_FLOAT_DIG – تعداد ارقام اعشاری که می توانند به صورت Float و بدون از دست دادن دقیق مقدار گرد شوند.
- PHP_FLOAT_EPSILON – کوچکترین عدد مثبت قابل نمایش x، به طوری که x + 1.0 != 1.0
PHP دارای یکسری توابع برای بررسی float بودن نوع متغیر می باشد:
- is_float()
- is_double() – alias of is_float()
مثال
بررسی کنید که آیا نوع متغیر Float هست یا خیر:
<?php
$x = 10.365;
var_dump(is_float($x));
?>
خروجی:
bool(true)
اعداد بی نهایت (Infinity) در PHP
مقدار عددی بزرگتر از PHP_FLOAT_MAX
بی نهایت در نظر گرفته می شود.
PHP دارای توابع از پیش تعریف شده جهت بررسی کردن یک مقدار عددی که آیا بی نهایت هست یا خیر می باشد:
- is_finite()
- is_infinite()
همچنین تابع var_dump()
نوع و مقدار داده را برمیگرداند.
مثال
بررسی کنید که آیا یک مقدار عددی متناهی است یا نامتناهی:
<?php
$x = 1.9e411;
var_dump($x);
?>
خروجی:
float(INF)
NaN در PHP
NaN مخفف این یک عدد نیست (Not a Number) می باشد.
NaN برای عملیات های تعریف نشده ریاضی استفاده می شود.
توابع PHP زیر بررسی می کند که یک مقدار داده عددی نیست:
- is_nan()
با این حال تابع var_dump()
نوع و مقدار داده را برمیگرداند.
مثال
<?php
$x = acos(8);
var_dump($x);
?>
خروجی:
float(NAN)
رشته های عددی در PHP
تابع is_numeric()
می تواند برای تعیین عددی بودن یک متغیر استفاده شود. اگر متغیر یک عدد یا یک رشته عددی باشد، تابع مقدار true در غیر این صورت مقدار false را برمی گرداند.
مثال
بررسی کنید که آیا متغیر عددی است یا خیر:
خروجی:
bool(true)
bool(true)
bool(true)
bool(false)
توجه: در PHP 7.0 تابع is_numeric()
مقدار FALSE را برای رشته های عددی به شکل هگزادسیمال (مثلا 0xf4c3b00c) برمی گرداند، زیرا آنها دیگر به عنوان رشته های عددی در نظر گرفته نمی شوند.
تبدیل اعداد اعشاری به اعداد صحیح در PHP
گاهی اوقات شما نیاز دارید که یک نوع داده عددی را در یک نوع داده عددی دیگر قرار بدهید.
از توابع int و integer و intval()
اغلب برای تبدیل مقادیر به نوع عدد صحیح استفاده می شود.
مثال
اعداد اعشاری (float) و رشته ای را به اعداد صحیح تبدیل کنید:
خروجی:
23465
23465
آیا این مطلب برای شما مفید بود ؟