الفرق بين المراجعتين لصفحة: «PHP/intval»

من موسوعة حسوب
< PHP
لا ملخص تعديل
لا ملخص تعديل
سطر 2: سطر 2:
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


تُعطي الدالة <code>intval()‎‎‎</code> قيمة من نوع عدد صحيح (integer) لمتغيّر ما.
تُعطي الدالة <code>intval()‎‎‎</code> قيمة من نوع [[PHP/integer|عدد صحيح]] (integer) لمتغيّر ما.


== الوصف ==
== الوصف ==
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
int intval ( mixed $var [, int $base = 10 ] )
int intval ( mixed $var [, int $base = 10 ] )
</syntaxhighlight>تُعطي قيمة من نوع [https://wiki.hsoub.com/PHP/integer عدد صحيح] للمتغيّر <code>var</code>، وذلك اعتمادًا على مُعامِل الأساس <code>base</code> للتحويل (القيمة الافتراضيّة هي الأساس 10 والتي تُحوِّل للنظام العشري). لا يجب استخدام الدالة <code>intval()‎</code> مع الكائنات، وينتج عن فعل ذلك خطأ من مستوى <code>E_NOTICE</code> وإعادة القيمة <code>1</code>.
</syntaxhighlight>تُعطي قيمة من نوع [[PHP/integer|عدد صحيح]] للمتغيّر <code>var</code>، وذلك اعتمادًا على مُعامِل الأساس <code>base</code> للتحويل (القيمة الافتراضيّة هي الأساس 10 والتي تُحوِّل للنظام العشري). لا يجب استخدام الدالة <code>intval()‎</code> مع الكائنات، وينتج عن فعل ذلك خطأ من مستوى <code>E_NOTICE</code> وإعادة القيمة <code>1</code>.


== المعاملات ==
== المعاملات ==
سطر 18: سطر 18:


ملاحظة: إذا كانت قيمة الأساس تساوي الصّفر، يُحدَّد الأساس عبر نَسَق المُعامِل <code>var</code>:
ملاحظة: إذا كانت قيمة الأساس تساوي الصّفر، يُحدَّد الأساس عبر نَسَق المُعامِل <code>var</code>:
* إن كانت السّلسلة النصّيّة تتضمن البادئة "0x" (أو "0X")، فسيُعدّ الأساس 16 (نظام ست عشري).
* إن كانت السّلسلة النصّيّة تتضمن البادئة <code>"0x"</code> (أو <code>"0X"</code>)، فسيُعدّ الأساس 16 (نظام ست عشري).
* إن كانت السّلسلة النصّيّة تبدأ بالقيمة "0"، فسيُعدّ الأساس 8 (نظام ثماني).
* إن كانت السّلسلة النصّيّة تبدأ بالقيمة <code>"0"</code>، فسيُعدّ الأساس 8 (نظام ثماني).
* إن لم تشمل السّلسلة أي من هذه الحالات فسيُعدّ الأساس 10 (نظام عشري).
* إن لم تشمل السّلسلة أي من هذه الحالات فسيُعدّ الأساس 10 (نظام عشري).


سطر 25: سطر 25:
قيمة العدد الصّحيح للمُعامِل <code>var</code> عند النّجاح، أو <code>0</code> عند الفشل. تُعيد المصفوفات الفارغة القيمة <code>0</code> وغير الفارغة القيمة <code>1</code>.
قيمة العدد الصّحيح للمُعامِل <code>var</code> عند النّجاح، أو <code>0</code> عند الفشل. تُعيد المصفوفات الفارغة القيمة <code>0</code> وغير الفارغة القيمة <code>1</code>.


تعتمد القيمة القصوى على النّظام، حيث تمتلك أنظمة 32 بت مجال أعظمي للعدد الصّحيح المؤشر signed من ‎<code>-2147483648</code> إلى <code>2147483647</code>، فعلى سبيل المثال تُعيد الدالة <code>intval('1000000000000')‎</code> القيمة <code>2147483647</code> على هذه الأنظمة، أمّا القيمة القصوى لعدد صحيح مؤشر على أنظمة 64 بت هي <code>9223372036854775807</code>.
تعتمد القيمة القصوى على النّظام، حيث تمتلك أنظمة 32 بت مجال أعظمي للعدد الصّحيح المؤشر (signed) من ‎<code>-2147483648</code> إلى <code>2147483647</code>، فعلى سبيل المثال تُعيد الدالة <code>intval('1000000000000')‎</code> القيمة <code>2147483647</code> على هذه الأنظمة، أمّا القيمة القصوى لعدد صحيح مؤشر على أنظمة 64 بت هي <code>9223372036854775807</code>.


تُعيد السّلاسل النصّيّة القيمة <code>0</code> غالبًا على الرّغم من اعتماد ذلك على الأحرف الموجودة في أقصى يسار السّلسلة،  تنطبق هنا القواعد الشّائعة في [https://wiki.hsoub.com/PHP/integer#.D8.A7.D9.84.D8.AA.D8.AD.D9.88.D9.8A.D9.84_.D8.A5.D9.84.D9.89_.D8.B9.D8.AF.D8.AF_.D8.B5.D8.AD.D9.8A.D8.AD قلب الأعداد الصّحيحة].
تُعيد السّلاسل النصّيّة القيمة <code>0</code> غالبًا على الرّغم من اعتماد ذلك على الأحرف الموجودة في أقصى يسار السّلسلة،  تنطبق هنا القواعد الشّائعة في [https://wiki.hsoub.com/PHP/integer#.D8.A7.D9.84.D8.AA.D8.AD.D9.88.D9.8A.D9.84_.D8.A5.D9.84.D9.89_.D8.B9.D8.AF.D8.AF_.D8.B5.D8.AD.D9.8A.D8.AD قلب الأعداد الصّحيحة].
سطر 68: سطر 68:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة [https://wiki.hsoub.com/PHP/boolval boolval()]: الحصول على القيمة المنطقيّة (boolean) لمتغيّر ما.
* الدالة <code>[[PHP/boolval|boolval()‎]]</code>: الحصول على القيمة المنطقيّة (boolean) لمتغيّر ما.
* الدالة [https://wiki.hsoub.com/PHP/floatval floatval()]: الحصول على قيمة من نوع عدد عشري (float) لمتغيّر ما.
* الدالة <code>[[PHP/floatval|floatval()‎]]</code>: الحصول على قيمة من نوع عدد عشري (float) لمتغيّر ما.
* الدالة [https://wiki.hsoub.com/PHP/is_numeric is_numeric()]: معرفة إذا ما كان المتغيّر عددًا أو سلسلة نصّيّة عدديّة.
* الدالة <code>[[PHP/is numeric|is_numeric()‎]]</code>: معرفة إذا ما كان المتغيّر عددًا أو سلسلة نصّيّة عدديّة.
* الدالة [https://wiki.hsoub.com/PHP/strval strval()]: الحصول على قيمة من نوع سلسلة نصّيّة (string) لمتغيّر ما.
* الدالة <code>[[PHP/strval|strval()‎]]</code>: الحصول على قيمة من نوع سلسلة نصّيّة (string) لمتغيّر ما.
* الدالة [https://wiki.hsoub.com/PHP/settype settype()]: تعيين نوع متغيّر ما.
* الدالة <code>[[PHP/settype|settype()‎]]</code>: تعيين نوع متغيّر ما.
* [https://wiki.hsoub.com/PHP/type_juggling التّعامل مع الأنواع في PHP].
* [[PHP/type juggling|التّعامل مع الأنواع في PHP]].


== مصادر ==
== مصادر ==

مراجعة 11:23، 16 أبريل 2018

(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.

مصادر