PHP Warning: count(): Parameter must be an array or an object that implements Countable in 解决方法

2018-10-17 23:44:34     点击:

代码已验证 原创

PHP Warning: count(): Parameter must be an array or an object that implements Countable in 解决方法


根据PHP官方示例代码:

<?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));
?>

在PHP 7.1及以前的版本中会输出以下结果:

int(3)
int(3)

int(0)

int(1)

但在PHP 7.2起会输出以下结果:

int(3)
int(3)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14


解决方法如下:

<?php
$array=[1,2,3,4];
echo is_array($array)&&!empty($array)?count($array):0;
?>