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

من موسوعة حسوب
< PHP
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>intval()</code>‎ في PHP}}</noinclude>'
 
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 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> قيمة من نوع [[PHP/integer|عدد صحيح]] (integer) لمتغيّر ما.
== الوصف ==
<syntaxhighlight lang="php">
int intval ( mixed $var [, int $base = 10 ] )
</syntaxhighlight>تُعطي قيمة من نوع [[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>:
* إن كانت السّلسلة النصّيّة تتضمن البادئة <code>"0x"</code> (أو <code>"0X"</code>)، فسيُعدّ الأساس 16 (نظام ست عشري).
* إن كانت السّلسلة النصّيّة تبدأ بالقيمة <code>"0"</code>، فسيُعدّ الأساس 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>
|}
== انظر أيضًا ==
* الدالة <code>[[PHP/boolval|boolval()‎]]</code>: الحصول على القيمة المنطقيّة (boolean) لمتغيّر ما.
* الدالة <code>[[PHP/floatval|floatval()‎]]</code>: الحصول على قيمة من نوع عدد عشري (float) لمتغيّر ما.
* الدالة <code>[[PHP/is numeric|is_numeric()‎]]</code>: معرفة إذا ما كان المتغيّر عددًا أو سلسلة نصّيّة عدديّة.
* الدالة <code>[[PHP/strval|strval()‎]]</code>: الحصول على قيمة من نوع سلسلة نصّيّة (string) لمتغيّر ما.
* الدالة <code>[[PHP/settype|settype()‎]]</code>: تعيين نوع متغيّر ما.
* [[PHP/type juggling|التّعامل مع الأنواع في PHP]].
== مصادر ==
* [http://php.net/manual/en/function.intval.php صفحة الدالة intval في توثيق PHP الرسمي].
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Variable Handling]]

المراجعة الحالية بتاريخ 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.

مصادر