آموزش PHP قسمت دوم

  • September 11, 2022 7:32 pm
  1. Integer
  2. بی نهایت
  3. NaN
  4. رشته های عددی
  5. Type Casting در PHP
  6. Math
  7. ثابت ها در php

اعداد در PHP

در ادامه عمیق تر به Integers, Floats و رشته های عددی خواهیم پرداخت.

نکته: php به طور خودکار نوع داده را تبدیل می کند. یعنی اگر یک عدد صحیح به یک متغیر اختصاص دهید، نوع آن متغیر به طور خودکار Integer خواهد بود و سپس اگر یک رشته متنی را به همان متغیر اختصاص دهید، نوع آن به String تغییر می کند. این تبدیل خودکار نوع داده گاهی اوقات ممکن است نتایج غیر منتظره ای داشته باشد. پس باید به این موضوع توجه داشته باشید.

۷. Integer

2، 256، -256، 10358، -179567 همه اعداد صحیح یا Integer هستند.
 
عدد صحیح عددی است که هیچگونه اعشاری ندارد.
 
عدد صحیح یا Integer یک عدد غیر اعشاری بین 2147483648- و 2147483647 در سیستم های 32 بیتی و بین 9223372036854775808- و 9223372036854775807 در سیستم های 64 بیتی می باشد. مقدار بزرگتر (یا کمتر) از این به عنوان float ذخیره می شود، زیرا از محدوده یک عدد صحیح فراتر می رود.

نکته: اگر بخواهیم 4*2.5 را که برابر 10 می شود ذخیره کنیم، نتیجه به عنوان Float ذخیره می شود، زیرا یکی از عملوندها ( 2.5 ) Float است.

قوانین موجود برای اعداد صحیح:

  • یک عدد صحیح باید حداقل یک رقم داشته باشد.
  • یک عدد صحیح نباید دارای اعشار باشد.
  • یک عدد صحیح می تواند مثبت یا منفی باشد.
  • اعداد صحیح را می توان در سه قالب مشخص کرد: اعشاری (مبتنی بر 10)، هگزا دسیمال (مبتنی بر 16 – پیشوند با 0x) یا اکتال (بر اساس 8 – پیشوند با 0)
PHP دارای ثابت های از پیش تعریف شده زیر برای اعداد صحیح است:
 
  • PHP_INT_MAX – بزرگترین عدد صحیح پشتیبانی شده
  • PHP_INT_MIN – کوچکترین عدد صحیح پشتیبانی شده
  • PHP_INT_SIZE – اندازه یک عدد صحیح بر حسب بایت
PHP دارای توابع زیر برای بررسی Integer بودن نوع متغیر است:
 
  • ()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));

?> 
flesh

bool(true)
bool(false)

۸. Float

در PHP از نوع داده Float برای مقادیر اعشاری استفاده می شود. شناور عددی با نقطه اعشار است و می توان آن را به شکل نمایی نشان داد. به شناور عدد ممیز شناور نیز گفته می شود.
 
محدوده اعداد float بین 2.0، 256.4، 10.358و 7.64E+5، 5.56E-5 می باشد.
 
نوع داده float معمولاً می تواند مقداری تا 1.7976931348623E+308 (وابسته به پلتفرم) را ذخیره کند و حداکثر دقت ۱۴ رقمی دارد.
PHP دارای ثابت های از پیش تعریف شده زیر برای Float ها است (از PHP 7.2):
  • PHP_FLOAT_MAX – بزرگترین عدد ممیز شناور قابل نمایش
  • PHP_FLOAT_MIN –کوچکترین عدد ممیز شناور مثبت قابل نمایش. 
  • PHP_FLOAT_DIG – تعداد ارقام اعشاری که می توانند به صورت شناور و بدون از دست دادن دقیق گرد شوند.
  • PHP_FLOAT_EPSILON – کوچکترین عدد مثبت قابل نمایش x، به طوری که x + 1.0 != 1.0
PHP دارای توابع زیر برای بررسی شناور بودن نوع متغیر است:
  • ()is_float
  • ()is_double   نام مستعار ()is_float

مثال:

بررسی کنید که آیا نوع متغیر Float است یا خیر:

<?php

  $x = 10.365;
  var_dump(is_float($x));

?>
flesh

bool(true)

۹. بی نهایت

مقدار عددی که بزرگتر از PHP_FLOAT_MAX باشد، Infinity یا بی نهایت در نظر گرفته می شود.

PHP دارای توابع زیر برای بررسی متناهی یا نامتناهی بودن یک مقدار عددی است:

  • ()is_finite
  • ()is_infinite
با این حال، تابع ()var_dump نوع و مقدار داده را برمی‌گرداند:
 
مثال:
بررسی کنید که آیا یک مقدار عددی متناهی است یا نامتناهی:
<?php

  // Check if a numeric value is finite or infinite 
  $x = 1.9e411;
  var_dump($x);

?> 
flesh

float(INF)

۱۰. NaN

NaN مخفف Not a Number است.
 
NaN برای عملیات غیرممکن ریاضی استفاده می شود.
 
PHP تابع زیر را برای بررسی اینکه آیا یک مقدار یک عدد نیست، دارد:
 
  • ()is_nan
با این حال، تابع ()var_dump نوع و مقدار داده را برمی‌گرداند:
 
مثال:
<?php

  // Invalid calculation will return a NaN value
  $x = acos(8);
  var_dump($x);

?> 
flesh

float(NAN)

۱۱. رشته های عددی

تابع ()is_numeric می تواند برای تعیین عددی بودن یک متغیر استفاده شود. اگر متغیر یک عدد یا یک رشته عددی باشد، خروجی تابع true است، در غیر این صورت false را بر می گرداند.
 
مثال:
بررسی کنید که آیا متغیر عددی است یا خیر:
<?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));

?>
flesh

bool(true)
bool(true)
bool(true)
bool(false)

توجه: از PHP 7.0 تابع ()is_numeric مقدار False را برای رشته های عددی هگزادسیمال برمی گرداند. به عنوان مثال 0xf4c3b00c دیگر به عنوان رشته عددی در نظر گرفته نمی شود.

۱۲. Type Casting در PHP

زمانی که در حال نوشتن یک برنامه هستید، باید چندین متغیر را ایجاد و دستکاری کنید. این متغیرها ممکن است نوع مشابه یا متفاوتی از داده ها را ذخیره کنند. به عنوان مثال، برخی از آنها می توانند یک مقدار صحیح داشته باشند، در حالی که برخی دیگر می توانند یک رشته یا شناور باشند.
 
زبان های برنامه نویسی مختلف مجموعه قوانین خاص خود را برای تعریف و اعلان متغیرها دارند. در زبانی مانند ++C شما باید نوع متغیر را قبل از شروع استفاده از آن مشخص کنید و به طور ضمنی آن را به نوع دیگری تبدیل نمی کند. از سوی دیگر، PHP قوانین سهل گیرانه تری در مورد نوع متغیرها دارد. یعنی لازم نیست از قبل نوع مقداری را که در یک متغیر ذخیره می کنید مشخص کنید. همچنین به شما این امکان را می دهد که نوع متفاوتی از مقدار را در همان متغیر بدون هیچ گونه تبدیل نوع صریح برای استفاده بعدی ذخیره کنید.
 
PHP این نوع تبدیل را برای شما به طور خودکار بر اساس زمینه ای که یک متغیر در آن استفاده می شود انجام می دهد. در این قسمت، یاد می گیرید چگونه می توانید هر زمان که نیاز باشد، Type Casting یا تعیین نوع متغیر را به صراحت انجام دهید.
 
می‌توانید با اضافه کردن نوع دلخواه خود در پرانتز قبل از متغیری که می‌خواهید ارسال کنید، یک نوع از مقادیر را به دیگری تبدیل کنید.
 
مثال:
<?php

  $text = "Apple";
  $x = (int)$text;
  $y = (boolean)$text;

  echo gettype($x);

  echo "<br>";

  echo gettype($y);

?>
flesh

integer
boolean

شش نوع کست اصلی در PHP مجاز است. این موارد در زیر ذکر شده است:
  • کست به int با استفاده از (int) یا (integer)
  • کست به bool با استفاده از (bool) یا (boolean)
  • کست به float با استفاده از (float) یا (double) یا (real)
  • کست به string با استفاده از (string)
  • کست به array با استفاده از (array)
  • کست به object با استفاده از (object)

۱۳. Math

PHP دارای مجموعه ای از توابع ریاضی است که به شما امکان می دهد عملسریاضی را روی اعداد انجام دهید.

تابع ()pi

تابع ()pi مقدار PI را برمی گرداند:
<?php

  echo(pi());

?>
flesh

3.1415926535898

تابع های ()min و ()max

از توابع ()min و ()max می توان برای یافتن کمترین یا بالاترین مقدار در لیستی از آرگومان ها استفاده کرد:
 
مثال:
<?php

  echo(min(0, 150, 30, 20, -8, -200));  
  echo(max(0, 150, 30, 20, -8, -200)); 
 
?>
flesh

200
150

تابع ()abs

تابع ()abs قدر مطلق (مثبت) یک عدد را برمی گرداند:
<?php

  echo(abs(-6.7));

?>
flesh

6.7

تابع ()sqrt

تابع ()sqrt جذر یک عدد را برمی گرداند:
<?php

  echo(sqrt(64) . "<br>");
  echo(sqrt(0) . "<br>");
  echo(sqrt(1) . "<br>");
  echo(sqrt(9));

?>
flesh

8
0
1
3

تابع ()round

تابع ()round یک عدد Float را به نزدیکترین عدد صحیح آن گرد می کند:
<?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));

?>
flesh

1
1
0
4-
5-

تابع ()rand

تابع ()rand یک عدد تصادفی تولید می کند:
<?php

  echo(rand());

?>
flesh

1381167960

برای کنترل بیشتر بر روی اعداد تصادفی، می توانید پارامترهای حداقل و حداکثر اختیاری را اضافه کنید تا کمترین عدد صحیح و بالاترین عدد صحیح را مشخص کنید.
 
به عنوان مثال، اگر یک عدد صحیح تصادفی بین 10 و 100 (شامل) می خواهید، از rand (10، 100) استفاده کنید:
<?php

  echo(rand(10, 100));

?>
flesh

97

۱۴. ثابت ها در php

ثابت یا Constant شناسه ای است که مقدار مشخصی را در خود نگه می دارد. مقدار ذخیره شده در یک ثابت فقط در زمان اجرا قابل تعریف است و در طول اجرای برنامه تغییر نمی کند.
 
یک نام ثابت با یک حرف یا زیرخط شروع می شود (بدون علامت $ قبل از نام ثابت).

نکته: بر خلاف متغیرها ، ثابت ها به طور خودکار در کل اسکریپت سراسری یا Global هستند.

برای ایجاد یک ثابت، از تابع ()define استفاده کنید.

سینتکس:

define(name, value, case-insensitive)

پارامترها:

  • name: نام ثابت را مشخص می کند.
  • value: مقدار ثابت را مشخص می کند.
  • case-insensitive: اختیاری. مشخص می کند که آیا نام ثابت باید به حروف بزرگ و کوچک حساس باشد یا خیر. مقادیر ممکن:
TRUE – حساس به حروف بزرگ و کوچک (در PHP 7.3 منسوخ شده است)
FALSE – حساس به حروف کوچک و بزرگ (پیش‌فرض است)
 
 



مثال۱:

یک ثابت case-sensitive ایجاد کنید:
<?php

  // case-sensitive constant name
  define("GREETING", "Welcome to raiatec.com!");
  echo GREETING;

?> 
flesh

Welcome to raiatec.com!

مثال۲:

یک ثابت غیر حساس به نام بزرگ و کوچک ایجاد کنید:

<?php

  // case-insensitive constant name
  define("GREETING", "Welcome to raiatec.com!", true);
  echo greeting;

?>
flesh

Welcome to raiatec.com!

آرایه های ثابت

در PHP7 می توانید با استفاده از تابع ()define یک آرایه ثابت ایجاد کنید.
 
مثال:
یک آرایه ثابت ایجاد کنید:
<?php

  define("cars", [
    "Alfa Romeo",
    "BMW",
    "Toyota"
  ]);
  echo cars[0];

?>php code.
flesh

Alfa Romeo

ثابت ها Global هستند

ثابت ها به طور خودکار جهانی هستند و می توانند در کل اسکریپت استفاده شوند.
 
مثال:
این مثال از یک ثابت در داخل یک تابع استفاده می کند، حتی اگر خارج از تابع تعریف شده باشد:
<?php

  define("GREETING", "Welcome to 
  raiatec.com!");

  function myTest() {
    echo GREETING;
  }
 
  myTest();

?> 
flesh

!Welcome to raiatec.com

منبع

w3schools.com