PHP – اعداد (Numbers)
در این بخش به بررسی عمیقتر اعداد صحیح (Integers)، اعداد اعشاری (Floats) و رشتههای عددی (Number Strings) در PHP خواهیم پرداخت.
انواع داده عددی در PHP
سه نوع اصلی عددی در PHP وجود دارد:
- Integer
- Float
- Number String
همچنین، PHP دو نوع داده دیگر برای اعداد دارد:
- Infinity
- NaN
متغیرهای نوع عددی زمانی ایجاد میشوند که یک مقدار به آنها اختصاص داده شود:
$a = 5;
$b = 5.34;
$c = "25";
برای بررسی نوع هر شیء در PHP میتوانید از تابع var_dump()
استفاده کنید:
var_dump($a);
var_dump($b);
var_dump($c);
PHP Integers
مثالهایی از اعداد صحیح: 2, 256, -256, 10358, -179567.
یک عدد صحیح، عددی است که هیچ بخش اعشاری ندارد.
نوع داده integer یک عدد غیر اعشاری بین -2147483648 و 2147483647 در سیستمهای 32 بیتی و بین -9223372036854775808 و 9223372036854775807 در سیستمهای 64 بیتی است. مقدار بیشتر (یا کمتر) از این، به عنوان float ذخیره میشود زیرا از محدوده integer خارج است.
نکته: اگرچه حاصل ضرب 4 * 2.5 برابر 10 است، نتیجه به عنوان float ذخیره میشود زیرا یکی از عملوندها float است (2.5).
قوانین برای اعداد صحیح:
- یک integer باید حداقل یک رقم داشته باشد
- یک integer نباید نقطه اعشاری داشته باشد
- یک integer میتواند مثبت یا منفی باشد
- Integers میتوانند به سه فرمت مشخص شوند: decimal (پایه 10)، hexadecimal (پایه 16 – با پیشوند 0x)، octal (پایه 8 – با پیشوند 0) یا binary (پایه 2 – با پیشوند 0b)
ثابتهای از پیش تعریف شده برای اعداد صحیح:
PHP_INT_MAX
– بزرگترین عدد صحیح پشتیبانی شدهPHP_INT_MIN
– کوچکترین عدد صحیح پشتیبانی شدهPHP_INT_SIZE
– اندازه یک integer بر حسب بایت
توابع برای بررسی نوع integer:
is_int()
is_integer()
– alias of is_int()is_long()
– alias of is_int()
$x = 5985;
var_dump(is_int($x)); // true
$x = 59.85;
var_dump(is_int($x)); // false
PHP Floats
یک float عددی است که دارای نقطه اعشار یا عددی به شکل نمایی است.
مثالهایی از float: 2.0, 256.4, 10.358, 7.64E+5, 5.56E-5.
ثابتهای از پیش تعریف شده برای اعداد اعشاری:
PHP_FLOAT_MAX
– بزرگترین عدد اعشاری قابل نمایشPHP_FLOAT_MIN
– کوچکترین عدد اعشاری مثبت قابل نمایشPHP_FLOAT_DIG
– تعداد ارقام اعشاری که میتوانند به یک float گرد شوند و بدون از دست دادن دقت به همان عدد بازگردندPHP_FLOAT_EPSILON
– کوچکترین عدد مثبت قابل نمایش x، به طوری که x + 1.0 != 1.0
توابع برای بررسی نوع float:
is_float()
is_double()
– alias of is_float()
$x = 10.365;
var_dump(is_float($x)); // true
PHP Infinity
مقدار عددی که بزرگتر از PHP_FLOAT_MAX
باشد به عنوان بینهایت در نظر گرفته میشود.
توابع برای بررسی اینکه یک مقدار عددی محدود (finite) یا بینهایت (infinite) است:
is_finite()
is_infinite()
$x = 1.9e411;
var_dump($x); // float(INF)
PHP NaN
NaN مخفف “Not a Number” است. NaN برای عملیاتهای ریاضی غیرممکن استفاده میشود.
توابع برای بررسی اینکه یک مقدار عدد نیست:
is_nan()
$x = acos(8);
var_dump($x); // float(NAN)
PHP Numerical Strings
$x = 5985;
var_dump(is_numeric($x)); // true
$x = "5985";
var_dump(is_numeric($x)); // true
$x = "59.85" + 100;
var_dump(is_numeric($x)); // true
$x = "Hello";
var_dump(is_numeric($x)); // false
نکته: از PHP 7.0 به بعد، تابع is_numeric()
برای رشتههای عددی به صورت هگزادسیمال (مثلاً 0xf4c3b00c) false برمیگرداند، زیرا دیگر به عنوان رشتههای عددی در نظر گرفته نمیشوند.
PHP Casting Strings and Floats to Integers
گاهی نیاز است که یک مقدار عددی را به نوع داده دیگری تبدیل کنید.
سه روش برای تبدیل مقدار به integer وجود دارد: (int)
, (integer)
, و intval()
.
مثال
// تبدیل float به int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast; // 23465
echo "<br>";
// تبدیل string به int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast; // 23465
این توابع و روشها ابزارهای قدرتمندی برای کار با اعداد در PHP هستند و به شما کمک میکنند تا به راحتی انواع مختلف دادههای عددی را مدیریت کنید.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام