‎‎اعداد در پي اچ پيPHP-‎number

Previous >    <Next  

‎دراين فصل بطور عميق به اعدادصحيح ،اعداد اعشاري واعداد رشته اي مي پردازيم. ‎درphp هرگاه به متغيري عددي منتسب شود، نوع آن متغير، نوع آن عدد خواهدبود .بدين ترتيب چون ‎انتساب محدويتي ندارد، ممكن است نوع متغير تعويض گردد .بدو دستور زير توجه كنيد.

$x=12;

$x="Hello world!";

‎با اجراي دستور اول نوغ متغير‎$x‎ عددي ميشود، ولي در دستور بعدي ‎رشته اي خواهد شد. ‎اين تبديل خود كار ضمن ايجاد سهولت دركار، ممكن است اختلال هم ايجاد نمايد،كه اگر كنترل ‎نداشته باشيد، مشكل آفرين خواهد بود.

‎بمثال زير توجه كنيد،تا درارتباط با مشكلات آن آشنا شويد، وبراي استفاده از تركيب نوع داده ‎دقت نمائيد.

‎‎مثال

<?php 
  $x=12;
  $y=25;
  echo $x+$y; //output 37
  echo "<br>";
  $y="25A";
  echo $x+$y; //output 37
  echo "<br>";
  $y="Hello world!";
  echo $x+$y; //output  12
?>

--(go to editor for change code and run)

‎‎اعداد صحيحPHP-‎integer

‎اعداد 22456 , 89800 , 50 , ‎-‎678989‎‎ ‎همه ازنوعinteget هستند .هرعدد بدون اعشار، از نوع integer‎است.

‎كمترين وبيشترين عدد صحيح بستگي به سيستم كامپيوتر دارد .درسيستمهاي32 بيتي حداكثر 2,147,483,648 ‎وحداقل ‎ -‎2,147,483,647‎ميباشد.

‎درسيستم هاي 64 بيتي بين-‎9223372036854775808 ‎و9223372036854775807ميباشد.

‎نكته ـ درعبارت 4*2.25‎ ‎حاصل10 خواهد شد، اما با اينكه صحيح است، بعنوانfloat در نظر ميگيرد .اين بخاطر اينكه يكي ‎از عوامل ضرب ازنوعfloat است.

‎‎بعضي از قوانين اعداد صحيح مطابق زيراست.

‎‎-‎1‎يك عدد صحيح حداقل يك رقم دارد.

‎‎-‎2‎عدد فاقد نقطه اعشاريست.

‎‎ 3‎ـ عدد ميتواند مثبت يا منفي باشد.

‎‎ 4‎ـ عدد ميتواند درمبناي ده،هشت وشانزده باشد .اگر مبنا ذكر نشود، ده فرض ميشود.

‎‎درPHP براي اعداد صحيح سه ثابت از پيش تعريف شده وجود دارد،مطابق زير

‎‎-‎1‎بزرگترين عدد سيستم كه پشتباني ميكندPHP_INT_MAX .

‎‎-‎2‎كوچكترين عددصحيحPHP_INT_MIN .

‎‎-‎3‎تعداد بايت مورد حمايت براي عدد صحيحPHP_INT_SIZE .

‎درphp سه تابع براي بررسي integer بودن متغير وجود دارد،كه كارمشابه اي انجام ميدهند،مطابق ‎زير

‎is_int()‎ , is_intege()‎ , is_long()‎‎

‎‎مثال زير جهت بررسيinteger بودن متغير

<?php 
$x=5985;
var_dump(is_int($x));
$x=59.85;
var_dump(is_int($x));
$x=5985.0;
var_dump(is_int($x));
?>

--(go to editor for change code and run)

‎‎اعداد شناورPHP-‎float-‎

‎عددي ازنوع شناورياfloat است كه داراي نقطه اعشاري ويا فرم تواني باشد .موارد زير ازنوع ‎شناورند.

‎2.0 , 256.4 , 10.358 , 7.64E+5 , 5.56E-‎5‎

‎نوع داده شناور معمولا ميتواند تا 1.797691348623E+308‎ ‎باشد.

‎‎ثابت هاي از پيش تعريف شده براي اعداد شناور ،كه از نسخهphp 7.2 به بعد ميباشد .

‎PHP_FLOAT_MAX -‎1‎بزرگتر عدد مميز دارشناور قابل نمايش

‎PHP_FLOAT_MIN -‎2‎كوچكترين عدد مميز دار شناورقابل نمايش

‎PHP_FLOAT_MAX -‎3‎كوچكترين عدد شناور منفي قابل نمايش

PHP_FLOAT_EPSILON -‎4‎كوچكترين عدد شناور مثبت قابل نمايش .عدد فوق با هر عددي ‎جمع شود، نتيجه همان عدد ميشود، يعني در جمع مشابه عدد صفر عمل ميكند .اين عدد ثابت اپسيلون ‎سيستم كامپيوتري دراعداد اعشاريست.

‎PHP_FLOAT_DIG -‎5‎تعداد ارقام اعشاري كه ميتواند، عدد اعشاري با دقت گرد شوند .

‎‎توابع زير براي بررسي شناور بودن عدد استفاده ميشوند.

‎is_float () , is_double()

‎‎مثال

<?php 
  $x=10.365;
  var_dump((is_float($));
?>
  

--(go to editor for change code and run)

‎‎بينهايت درپي اچ پيPHP-‎infinityy

‎يك عددبزرگتر ازPHP_FLOAT_MAX در php بعنوان عدد بينهايت شناخته ميشود.اين اعداد نبايد ‎در عبارات رياضي ظاهر شوند، درآنصورت نتايج حاصل قابل قبول نخواهد بود. ‎براي كنترل وبررسي اين پديده، توابع زير درphp وجود دارد، تا بتوان پيشگيري لازم را براي دقت ‎قابل قبول انجام داد .اگرحاصل عبارتي مطابق قوانينphp بينهايت شود، نتايج غيرقابل قبول ‎ميباشد.

is_finite() , is_infinite()

‎‎كنترل بينهايتي يا غير بينهايتي اعداد‎مثال -.

<?php 
  $x=1.9e411;
  var_dump($x);
?>

--(go to editor for change code and run)

‎‎غير عدديPHP-‎NaN

‎درphp براي غير عددي NaN درنظرگرفته شده است NaN .براي كنترل عمليات نا ممكن پيش بيني ‎شده است .براي كنترل عمليات رياضي ناممكن ازتابع زير استفاده ميشود.

‎is_ nan()‎‎

‎‎همچنان تابعvar_dump هم براي كنترل موارد كمك مي نمايد .

‎‎مثال نمونه ـ براي كنترل عملياتNaN

<?php 
  $x=acos(8);
  var_dump($x);  
?>

--(go to editor for change code and run)

‎‎رشته عدديPHP-‎Numerical Strings

‎درphp تابعis_numeric()‎ براي بررسي عددي بودن يك رشته ميتوان استفاده نمود.اگرآرگومان ‎از نوع رشته عددي باشد،نتيجه برگشتيTRUE و اگرنباشد، نتيچهFALS است.

‎‎مثال ـ در برنامه زيركنترل عددي بودن رشته را انجام ميدهد.

<?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));
?>

--(go to editor for change code and run)

‎نكته ـ از‎php7.0‎ اين تابع براي رشته هاي فرمت هگزا را، بعنوان عددي تشخيص نداده ‎وFALS برگشت ميدهد .مثلا رشته 0x14c3bb00c ‎براي تابع رشته عددي نيست0x . ‎ابتدا بعنوان علامت هگزاست.

php‎رشته هاوشناورها عددي را درست ارسال مي نمايد، ونيازمند تغيريا تبديل نيست .ولي گاهي ‎مواقع نيازمند تبديل ميباشد،ومي خواهيد عددي راinteger نمائيد .اينكار بوسيله تابعintval()‎ ‎ميتواند انجام شود.

‎‎مثال ـ درمثال زير عدد شناور ورشته عددي را به عدد صحيح تبديل ميكند.

<?php 
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>

--(go to editor for change code and run)


Previous >    <Next