الفرق بين المراجعتين لصفحة: «PHP/intval»
Kinan-mawed (نقاش | مساهمات) أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>intval()</code> في PHP}}</noinclude>' |
Kinan-mawed (نقاش | مساهمات) لا ملخص تعديل |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>intval()</code> في PHP}}</noinclude> | <noinclude>{{DISPLAYTITLE:الدالة <code>intval()</code> في PHP}}</noinclude> | ||
(PHP 4, PHP 5, PHP 7) | |||
تُعطي الدالة <code>intval()</code> قيمة من نوع عدد صحيح (integer) لمتغيّر ما. | |||
== الوصف == | |||
<syntaxhighlight lang="php"> | |||
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>. | |||
== المعاملات == | |||
=== <code>var</code> === | |||
القيمة العدديّة التي ستُحوَّل إلى عدد صحيح. | |||
=== <code>base</code> === | |||
الأساس المُستخدَم للتحويل. | |||
ملاحظة: إذا كانت قيمة الأساس تساوي الصّفر، يُحدَّد الأساس عبر نَسَق المُعامِل <code>var</code>: | |||
* إن كانت السّلسلة النصّيّة تتضمن البادئة "0x" (أو "0X")، فسيُعدّ الأساس 16 (نظام ست عشري). | |||
* إن كانت السّلسلة النصّيّة تبدأ بالقيمة "0"، فسيُعدّ الأساس 8 (نظام ثماني). | |||
* إن لم تشمل السّلسلة أي من هذه الحالات فسيُعدّ الأساس 10 (نظام عشري). | |||
== القيم المعادة == | |||
قيمة العدد الصّحيح للمُعامِل <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>. | |||
تُعيد السّلاسل النصّيّة القيمة <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 قلب الأعداد الصّحيحة]. | |||
== أمثلة == | |||
المثال 1: أمثلة على الدالة <code>intval()</code> | |||
تستند الأمثلة التّالية إلى أنظمة 32 بت.<syntaxhighlight lang="php"> | |||
<?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 | |||
?> | |||
</syntaxhighlight> | |||
== ملاحظات == | |||
ليس لمُعامِل الأساس <code>base</code> أي تأثير ما لم يكن المُعامِل <code>var</code> سلسلةً نصّيّةً. | |||
== سجل التغييرات == | |||
{| class="wikitable" | |||
!الإصدار | |||
!الوصف | |||
|- | |||
|5.1.0 | |||
|رمي الخطأ <code>E_NOTICE</code> وإعادة القيمة <code>1</code> عند تمرير كائن للمُعامِل <code>var</code> | |||
|} | |||
== انظر أيضًا == | |||
* الدالة [https://wiki.hsoub.com/PHP/boolval boolval()]: الحصول على القيمة المنطقيّة (boolean) لمتغيّر ما. | |||
* الدالة [https://wiki.hsoub.com/PHP/floatval floatval()]: الحصول على قيمة من نوع عدد عشري (float) لمتغيّر ما. | |||
* الدالة [https://wiki.hsoub.com/PHP/is_numeric is_numeric()]: معرفة إذا ما كان المتغيّر عددًا أو سلسلة نصّيّة عدديّة. | |||
* الدالة [https://wiki.hsoub.com/PHP/strval strval()]: الحصول على قيمة من نوع سلسلة نصّيّة (string) لمتغيّر ما. | |||
* الدالة [https://wiki.hsoub.com/PHP/settype settype()]: تعيين نوع متغيّر ما. | |||
* [https://wiki.hsoub.com/PHP/type_juggling التّعامل مع الأنواع في PHP]. | |||
== مصادر == | |||
* [http://php.net/manual/en/function.intval.php صفحة الدالة intval في توثيق PHP الرسمي]. | |||
[[تصنيف:PHP]] | |||
[[تصنيف:PHP Functions]] | |||
مراجعة 11:55، 14 أبريل 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.