الدالة intval() في PHP
(PHP 4, PHP 5, PHP 7)
تُعطي الدالة intval() قيمة من نوع عدد صحيح (integer) لمتغيّر ما.
الوصف
int intval ( mixed $var [, int $base = 10 ] )
تُعطي قيمة من نوع عدد صحيح للمتغيّر var، وذلك اعتمادًا على مُعامِل الأساس base للتحويل (القيمة الافتراضيّة هي الأساس 10 والتي تُحوِّل للنظام العشري). لا يجب استخدام الدالة intval() مع الكائنات، وينتج عن فعل ذلك خطأ من مستوى E_NOTICE وإعادة القيمة 1.
المعاملات
var
القيمة العدديّة التي ستُحوَّل إلى عدد صحيح.
base
الأساس المُستخدَم للتحويل.
ملاحظة: إذا كانت قيمة الأساس تساوي الصّفر، يُحدَّد الأساس عبر نَسَق المُعامِل var:
- إن كانت السّلسلة النصّيّة تتضمن البادئة
"0x"(أو"0X")، فسيُعدّ الأساس 16 (نظام ست عشري). - إن كانت السّلسلة النصّيّة تبدأ بالقيمة
"0"، فسيُعدّ الأساس 8 (نظام ثماني). - إن لم تشمل السّلسلة أي من هذه الحالات فسيُعدّ الأساس 10 (نظام عشري).
القيم المعادة
قيمة العدد الصّحيح للمُعامِل var عند النّجاح، أو 0 عند الفشل. تُعيد المصفوفات الفارغة القيمة 0 وغير الفارغة القيمة 1.
تعتمد القيمة القصوى على النّظام، حيث تمتلك أنظمة 32 بت مجال أعظمي للعدد الصّحيح المؤشر (signed) من -2147483648 إلى 2147483647، فعلى سبيل المثال تُعيد الدالة intval('1000000000000') القيمة 2147483647 على هذه الأنظمة، أمّا القيمة القصوى لعدد صحيح مؤشر على أنظمة 64 بت هي 9223372036854775807.
تُعيد السّلاسل النصّيّة القيمة 0 غالبًا على الرّغم من اعتماد ذلك على الأحرف الموجودة في أقصى يسار السّلسلة، تنطبق هنا القواعد الشّائعة في قلب الأعداد الصّحيحة.
أمثلة
المثال 1: أمثلة على الدالة intval()
تستند الأمثلة التّالية إلى أنظمة 32 بت.
<?php
echo intval(42); // 42
echo intval(4.2); // 4
echo intval('42'); // 42
echo intval('+42'); // 42
echo intval('-42'); // -42
echo intval(042); // 34
echo intval('042'); // 42
echo intval(1e10); // 1410065408
echo intval('1e10'); // 1
echo intval(0x1A); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
?>
ملاحظات
ليس لمُعامِل الأساس base أي تأثير ما لم يكن المُعامِل var سلسلةً نصّيّةً.
سجل التغييرات
| الإصدار | الوصف |
|---|---|
| 5.1.0 | رمي الخطأ E_NOTICE وإعادة القيمة 1 عند تمرير كائن للمُعامِل var
|
انظر أيضًا
- الدالة
boolval(): الحصول على القيمة المنطقيّة (boolean) لمتغيّر ما. - الدالة
floatval(): الحصول على قيمة من نوع عدد عشري (float) لمتغيّر ما. - الدالة
is_numeric(): معرفة إذا ما كان المتغيّر عددًا أو سلسلة نصّيّة عدديّة. - الدالة
strval(): الحصول على قيمة من نوع سلسلة نصّيّة (string) لمتغيّر ما. - الدالة
settype(): تعيين نوع متغيّر ما. - التّعامل مع الأنواع في PHP.