count

(PHP 4, PHP 5, PHP 7)

count锟斤拷锟斤拷锟斤拷锟斤拷锟叫的碉拷元锟斤拷目锟斤拷锟斤拷锟斤拷锟斤拷械锟斤拷锟斤拷愿锟斤拷锟�

说锟斤拷

count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int

统锟狡筹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆拷氐锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷叨锟斤拷锟斤拷锟侥讹拷锟斤拷锟斤拷

锟斤拷锟节讹拷锟斤拷锟斤拷锟斤拷锟阶帮拷锟� SPL锟斤拷锟斤拷锟斤拷通锟斤拷实锟斤拷 Countable 锟接口讹拷 count()锟揭癸拷锟斤拷hook锟斤拷 锟斤拷锟矫接匡拷只锟斤拷一锟斤拷锟斤拷锟斤拷 Countable::count()锟斤拷锟剿凤拷锟斤拷为 count() 锟斤拷锟斤拷锟斤拷锟斤拷值锟斤拷

锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟绞碉拷趾锟绞癸拷锟斤拷锟斤拷锟斤拷锟皆参匡拷锟街诧拷锟斤拷锟斤拷锟斤拷锟铰斤拷锟叫碉拷锟斤拷细锟斤拷锟斤拷锟斤拷

锟斤拷锟斤拷

array_or_countable

锟斤拷锟斤拷锟斤拷锟� Countable 锟斤拷锟斤拷

mode

锟斤拷锟斤拷锟窖★拷锟� mode 锟斤拷锟斤拷锟斤拷为 COUNT_RECURSIVE锟斤拷锟斤拷 1锟斤拷锟斤拷count() 锟斤拷锟捷癸拷囟锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆硷拷锟斤拷锟轿拷锟斤拷锟斤拷锟斤拷锟叫碉拷元锟斤拷锟斤拷锟斤拷锟矫★拷

Caution

count() 锟杰硷拷锟捷癸拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷循锟斤拷锟斤拷锟斤拷每锟轿筹拷锟斤拷时锟斤拷锟斤拷锟� E_WARNING 锟斤拷锟斤拷 锟斤拷锟斤拷锟� array 锟斤拷止一锟轿帮拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟截达拷锟斤拷预锟节碉拷统锟斤拷锟斤拷锟街★拷

锟斤拷锟斤拷值

锟斤拷锟斤拷 array_or_countable 锟叫的碉拷元锟斤拷目锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷炔锟斤拷锟斤拷锟斤拷椋诧拷锟斤拷锟绞碉拷锟� Countable 锟接口的讹拷锟襟,斤拷锟斤拷锟斤拷 1锟斤拷 锟叫革拷锟斤拷锟解:锟斤拷锟� array_or_countable 锟斤拷 NULL 锟斤拷锟斤拷锟斤拷 0锟斤拷

锟斤拷锟斤拷

Example #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 // PHP 7.2 锟斤拷
int(0)

Warning: count(): Parameter must be an array or an object that implements Countable in ... on line 14 // PHP 7.2 锟斤拷
int(1)

Example #2 锟捷癸拷 count() 锟斤拷锟斤拷

<?php
$food 
= array('fruits' => array('orange''banana''apple'),
              
'veggie' => array('carrot''collard''pea'));

// recursive count
echo count($foodCOUNT_RECURSIVE); // output 8

// normal count
echo count($food); // output 2

?>

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
7.2.0 锟斤拷锟斤拷效锟斤拷 countable 锟斤拷锟酵达拷锟捷革拷 array_or_countable 锟斤拷锟斤拷时锟斤拷count() 锟斤拷锟斤拷锟斤拷锟斤拷妗�

锟轿硷拷

  • is_array() - 锟斤拷锟斤拷锟斤拷锟角凤拷锟斤拷锟斤拷锟斤拷
  • isset() - 锟斤拷锟斤拷锟斤拷锟角凤拷锟斤拷锟斤拷锟矫诧拷锟揭凤拷 NULL
  • empty() - 锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷欠锟轿拷锟�
  • strlen() - 锟斤拷取锟街凤拷锟斤拷锟斤拷锟斤拷