الدالة 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.