أرقام PHP
في هذا الفصل سوف ننظر بعمق في الأعداد الصحيحة والعائمة والسلاسل العددية.
أرقام PHP
شيء واحد يجب ملاحظته حول PHP هو أنه يوفر تحويلًا تلقائيًا لنوع البيانات.
لذلك ، إذا قمت بتعيين قيمة عدد صحيح لمتغير ، فسيكون نوع هذا المتغير عددًا صحيحًا تلقائيًا. بعد ذلك ، إذا قمت بتعيين سلسلة نصية إلى نفس المتغير ، فسيتغير النوع إلى سلسلة.
يمكن أن يؤدي هذا التحويل التلقائي في بعض الأحيان إلى كسر التعليمات البرمجية الخاصة بك.
أعداد صحيحة PHP
2 ، 256 ، -256 ، 10358 ، -179567 كلها أعداد صحيحة.
العدد الصحيح هو رقم بدون أي جزء عشري.
نوع بيانات العدد الصحيح هو رقم غير عشري بين -2147483648 و 2147483647 في أنظمة 32 بت ، وبين -9223372036854775808 و 9223372036854775807 في أنظمة 64 بت. سيتم تخزين القيمة الأكبر (أو الأقل) من هذا على أنها عائمة ، لأنها تتجاوز حد العدد الصحيح.
ملحوظة: شيء آخر مهم يجب معرفته هو أنه حتى لو كانت 4 * 2.5 تساوي 10 ، فسيتم تخزين النتيجة على أنها عائمة ، لأن أحد المعاملات هو عدد عشري (2.5).
فيما يلي بعض القواعد للأعداد الصحيحة:
- يجب أن يحتوي العدد الصحيح على رقم واحد على الأقل
- يجب ألا يحتوي العدد الصحيح على فاصلة عشرية
- يمكن أن يكون العدد الصحيح موجبًا أو سالبًا
- يمكن تحديد الأعداد الصحيحة بثلاثة تنسيقات: عشري (مستند إلى 10) ، سداسي عشري (على أساس 16 - مسبوق بـ 0 x) أو ثماني (قائم على 8 - مسبوق بـ 0)
تحتوي PHP على الثوابت التالية المحددة مسبقًا للأعداد الصحيحة:
- PHP_INT_MAX - أكبر عدد صحيح مدعوم
- PHP_INT_MIN - دعم أصغر عدد صحيح
- PHP_INT_SIZE - حجم عدد صحيح بالبايت
PHP لها الوظائف التالية للتحقق مما إذا كان نوع المتغير عددًا صحيحًا:
- is_int ()
- is_ صحيح () - الاسم المستعار is_int ()
- is_long () - الاسم المستعار لـ is_int ()
مثال
تحقق مما إذا كان نوع المتغير عددًا صحيحًا:
<?php
$x = 5985;
var_dump(is_int($x));
$x = 59.85;
var_dump(is_int($x));
?>
PHP يطفو
العائم هو رقم به فاصلة عشرية أو رقم في شكل أسي.
2.0 ، 256.4 ، 10.358 ، 7.64E + 5 ، 5.56E-5 كلها عائمة.
يمكن لنوع البيانات العائمة عادةً تخزين قيمة تصل إلى 1.7976931348623E + 308 (تعتمد على النظام الأساسي) ، ولها دقة قصوى تصل إلى 14 رقمًا.
تحتوي PHP على الثوابت التالية المعرفة مسبقًا للعوامات (من PHP 7.2):
- PHP_FLOAT_MAX - أكبر رقم فاصلة عائمة يمكن تمثيله
- PHP_FLOAT_MIN - أصغر رقم فاصلة عائمة موجب يمكن تمثيله
- - PHP_FLOAT_MAX - أصغر رقم فاصلة عائمة سالب يمكن تمثيله
- PHP_FLOAT_DIG - عدد الأرقام العشرية التي يمكن تقريبها إلى عدد عشري والعكس دون فقدان الدقة
- PHP_FLOAT_EPSILON - أصغر عدد موجب يمكن تمثيله x ، بحيث x + 1.0! = 1.0
PHP لها الوظائف التالية للتحقق مما إذا كان نوع المتغير عائمًا:
- is_float ()
- is_double () - الاسم المستعار is_float ()
مثال
تحقق مما إذا كان نوع المتغير عائمًا:
<?php
$x = 10.365;
var_dump(is_float($x));
?>
PHP إنفينيتي
تعتبر القيمة الرقمية الأكبر من PHP_FLOAT_MAX لا نهائية.
PHP لها الوظائف التالية للتحقق مما إذا كانت القيمة الرقمية محدودة أم لا نهائية:
ومع ذلك ، تُرجع الدالة PHP var_dump () نوع البيانات وقيمتها:
مثال
تحقق مما إذا كانت القيمة الرقمية محدودة أم غير محدودة:
<?php
$x = 1.9e411;
var_dump($x);
?>
PHP NaN
NaN تعني ليس رقمًا.
يستخدم NaN لعمليات حسابية مستحيلة.
PHP لها الوظائف التالية للتحقق مما إذا كانت القيمة ليست رقمًا:
ومع ذلك ، تُرجع الدالة PHP var_dump () نوع البيانات وقيمتها:
مثال
سيرجع الحساب غير الصحيح قيمة NaN:
<?php
$x = acos(8);
var_dump($x);
?>
سلاسل PHP العددية
يمكن استخدام الدالة PHP is_numeric () لمعرفة ما إذا كان المتغير رقميًا. ترجع الدالة صحيحًا إذا كان المتغير عبارة عن رقم أو سلسلة رقمية ، والخطأ بخلاف ذلك.
مثال
تحقق مما إذا كان المتغير رقميًا:
<?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));
?>
ملاحظة: من PHP 7.0: ستعيد الدالة is_numeric () FALSE للسلاسل الرقمية في شكل سداسي عشري (مثل 0xf4c3b00c) ، حيث لم تعد تعتبر سلاسل رقمية.
PHP Casting Strings and Floats to صحيحة
تحتاج أحيانًا إلى تحويل قيمة عددية إلى نوع بيانات آخر.
غالبًا ما تُستخدم الدالة (int) أو (عددًا صحيحًا) أو 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;
?>