الفرق بين المراجعتين لصفحة: «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.