الدالة count()
في PHP
(PHP 4, PHP 5, PHP 7)
تُحصي الدالة count()
جميع العناصر في مصفوفة، أو شيء ما في كائن.
الوصف
int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
تُحصي هذه الدالة جميع العناصر في مصفوفة، أو شيء ما في كائن.
بالنسبة للكائنات، إذا كانت مكتبة PHP القياسية SPL مثبتة لديك، فيمكنك ربط count()
عبر واجهة التطبيق Countable. وتحتوي الواجهة على دالة واحدة، Countable :: count()
، وهي نفسها التي تُعيد القيمة المُعادة للدالة count()
.
الرجاء مراجعة قسم array من الدليل للحصول على شرح مفصل حول كيفية تطبيق المصفوفات واستخدامها في PHP.
المعاملات
array_or_countable
مصفوفة أو كائن قابل للإحصاء.
mode
إذا ضُبِط المعامل mode
الاختياري إلى COUNT_RECURSIVE
(أو 1)، فستحصي الدالة count()
المصفوفة تكرريًا (recursively). وهو أمر مفيد بشكل خاص لإحصاء جميع عناصر مصفوفة متعددة الأبعاد.
تنبيه: يمكن أن تكتشف الدالة count() العَودية (recursion) لتجنب الدخول في حلقة لا نهائية، ولكنها ستصدر E_WARNING
في كل مرة (إذا احتوت المصفوفة على نفسها أكثر من مرة) وستُعيد عددًا أعلى من المتوقع.
القيم المعادة
تُعيد هذه الدالة عدد العناصر في array_or_countable
. عندما يكون المعامل ليس مصفوفة ولا كائنًا مع واجهة قابلة للإحصاء، فستُعيد القيمة 1. هناك استثناء واحد، إذا كانت قيمة array_or_countable
تساوي NULL
، فسستُعيد الدالة القيمة 0.
تنبيه: قد تعيد الدالة count()
القيمة 0 للمتغير الذي لم تُعيّن له قيمة، ولكنها قد تُعيد أيضًا القيمة 0 للمتغير إذا هُيّئ باستخدام مصفوفة فارغة. استخدم isset()
لاختبار ما إذا كان المتغير مُعيَّنًا أم لا.
أمثلة
المثال 1: مثال على الدالة count()
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
var_dump(count($a));
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));
var_dump(count(null));
var_dump(count(false));
?>
سوف تكون مُخرجات المثال أعلاه كالتالي:
int(3)
int(3)
Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12 // as of PHP 7.2
int(0)
Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14 // as of PHP 7.2
int(1)
المثال 2: مثال على استخدام الدالة count()
تكراريًا
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// إحصاء متكرر
echo count($food, COUNT_RECURSIVE); // المُخرَج 8
// إحصاء عادي
echo count($food); // المُخرَج 2
?>
سجل التغييرات
الإصدار | الوصف |
---|---|
7.2.0 | تعطي الدالة count() الآن تحذيرًا عند استخدام أنواع قابلة للإحصاء غير صالحة مُمررة إلى المعامل array_or_countable .
|
انظر أيضًا
- الدالة
is_array()
: تحديد ما إذا كان نوع المتغير مصفوفة. - الدالة
isset()
: تحديد ما إذا كان المتغير معينًا وقيمته ليست NULL. - الدالة
empty()
: تحديد ما إذا كان المتغير فارغًا. - الدالة
strlen()
: الحصول على طول سلسلة نصية.