اعداد در PHP
نکته: php به طور خودکار نوع داده را تبدیل می کند. یعنی اگر یک عدد صحیح به یک متغیر اختصاص دهید، نوع آن متغیر به طور خودکار Integer خواهد بود و سپس اگر یک رشته متنی را به همان متغیر اختصاص دهید، نوع آن به String تغییر می کند. این تبدیل خودکار نوع داده گاهی اوقات ممکن است نتایج غیر منتظره ای داشته باشد. پس باید به این موضوع توجه داشته باشید.
–
۷. Integer
نکته: اگر بخواهیم 4*2.5 را که برابر 10 می شود ذخیره کنیم، نتیجه به عنوان Float ذخیره می شود، زیرا یکی از عملوندها ( 2.5 ) Float است.
قوانین موجود برای اعداد صحیح:
-
یک عدد صحیح باید حداقل یک رقم داشته باشد.
-
یک عدد صحیح نباید دارای اعشار باشد.
-
یک عدد صحیح می تواند مثبت یا منفی باشد.
-
اعداد صحیح را می توان در سه قالب مشخص کرد: اعشاری (مبتنی بر 10)، هگزا دسیمال (مبتنی بر 16 – پیشوند با 0x) یا اکتال (بر اساس 8 – پیشوند با 0)
-
PHP_INT_MAX – بزرگترین عدد صحیح پشتیبانی شده
-
PHP_INT_MIN – کوچکترین عدد صحیح پشتیبانی شده
-
PHP_INT_SIZE – اندازه یک عدد صحیح بر حسب بایت
- ()is_int
- ()is_integer نام مستعار ()is_int
- ()is_long نام مستعار ()is_int
مثال:
<?php
// Check if the type of a variable is integer
$x = 5985;
var_dump(is_int($x));
echo "<br>";
// Check again...
$x = 59.85;
var_dump(is_int($x));
?>

bool(true)
bool(false)
–
۸. Float
-
PHP_FLOAT_MAX – بزرگترین عدد ممیز شناور قابل نمایش
-
PHP_FLOAT_MIN –کوچکترین عدد ممیز شناور مثبت قابل نمایش.
-
PHP_FLOAT_DIG – تعداد ارقام اعشاری که می توانند به صورت شناور و بدون از دست دادن دقیق گرد شوند.
-
PHP_FLOAT_EPSILON – کوچکترین عدد مثبت قابل نمایش x، به طوری که x + 1.0 != 1.0
- ()is_float
- ()is_double نام مستعار ()is_float
مثال:
بررسی کنید که آیا نوع متغیر Float است یا خیر:
<?php
$x = 10.365;
var_dump(is_float($x));
?>

bool(true)
–
۹. بی نهایت
PHP دارای توابع زیر برای بررسی متناهی یا نامتناهی بودن یک مقدار عددی است:
- ()is_finite
- ()is_infinite
<?php
// Check if a numeric value is finite or infinite
$x = 1.9e411;
var_dump($x);
?>

float(INF)
–
۱۰. NaN
-
()is_nan
<?php
// Invalid calculation will return a NaN value
$x = acos(8);
var_dump($x);
?>

float(NAN)
–
۱۱. رشته های عددی
<?php
$x = 5985;
var_dump(is_numeric($x));
$x = "5985";
var_dump(is_numeric($x));
$x = "59.85" + 100;
var_dump(is_numeric($x));
$x = "Hello";
var_dump(is_numeric($x));
?>

bool(true)
bool(true)
bool(true)
bool(false)
توجه: از PHP 7.0 تابع ()is_numeric مقدار False را برای رشته های عددی هگزادسیمال برمی گرداند. به عنوان مثال 0xf4c3b00c دیگر به عنوان رشته عددی در نظر گرفته نمی شود.
–
۱۲. Type Casting در PHP
<?php
$text = "Apple";
$x = (int)$text;
$y = (boolean)$text;
echo gettype($x);
echo "<br>";
echo gettype($y);
?>

integer
boolean
-
کست به int با استفاده از (int) یا (integer)
- کست به bool با استفاده از (bool) یا (boolean)
- کست به float با استفاده از (float) یا (double) یا (real)
- کست به string با استفاده از (string)
- کست به array با استفاده از (array)
- کست به object با استفاده از (object)
–
۱۳. Math
تابع ()pi
<?php
echo(pi());
?>

3.1415926535898
تابع های ()min و ()max
<?php
echo(min(0, 150, 30, 20, -8, -200));
echo(max(0, 150, 30, 20, -8, -200));
?>

–200
150
تابع ()abs
<?php
echo(abs(-6.7));
?>

6.7
تابع ()sqrt
<?php
echo(sqrt(64) . "<br>");
echo(sqrt(0) . "<br>");
echo(sqrt(1) . "<br>");
echo(sqrt(9));
?>

8
0
1
3
تابع ()round
<?php
echo(round(0.60) . "<br>");
echo(round(0.50) . "<br>");
echo(round(0.49) . "<br>");
echo(round(-4.40) . "<br>");
echo(round(-4.60));
?>

1
1
0
4-
5-
تابع ()rand
<?php
echo(rand());
?>

1381167960
<?php
echo(rand(10, 100));
?>

97
–
۱۴. ثابت ها در php
نکته: بر خلاف متغیرها ، ثابت ها به طور خودکار در کل اسکریپت سراسری یا Global هستند.
سینتکس:
define(name, value, case-insensitive)
پارامترها:
- name: نام ثابت را مشخص می کند.
- value: مقدار ثابت را مشخص می کند.
- case-insensitive: اختیاری. مشخص می کند که آیا نام ثابت باید به حروف بزرگ و کوچک حساس باشد یا خیر. مقادیر ممکن:
مثال۱:
<?php
// case-sensitive constant name
define("GREETING", "Welcome to raiatec.com!");
echo GREETING;
?>

Welcome to raiatec.com!
مثال۲:
یک ثابت غیر حساس به نام بزرگ و کوچک ایجاد کنید:
<?php
// case-insensitive constant name
define("GREETING", "Welcome to raiatec.com!", true);
echo greeting;
?>

Welcome to raiatec.com!
آرایه های ثابت
<?php
define("cars", [
"Alfa Romeo",
"BMW",
"Toyota"
]);
echo cars[0];
?>php code.

Alfa Romeo
ثابت ها Global هستند
<?php
define("GREETING", "Welcome to
raiatec.com!");
function myTest() {
echo GREETING;
}
myTest();
?>

!Welcome to raiatec.com
منبع
w3schools.com