PHP – اعداد (Numbers)

در این بخش به بررسی عمیق‌تر اعداد صحیح (Integers)، اعداد اعشاری (Floats) و رشته‌های عددی (Number Strings) در PHP خواهیم پرداخت.

انواع داده عددی در PHP

سه نوع اصلی عددی در PHP وجود دارد:

  1. Integer
  2. Float
  3. 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

تابع is_numeric() در PHP می‌تواند برای یافتن اینکه آیا یک متغیر عددی است یا خیر استفاده شود. این تابع اگر متغیر عددی باشد یا رشته عددی باشد، true برمی‌گرداند، در غیر این صورت false.

$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 هستند و به شما کمک می‌کنند تا به راحتی انواع مختلف داده‌های عددی را مدیریت کنید.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.