PHP POST 请求报错 'Parameter must be an array or an object that implements Countable'
在 PHP 7.2 及以上版本中,使用 count() 函数时,传递的参数必须是一个数组或实现了 Countable 接口的对象。如果传递的参数类型不符合要求,就会出现错误 'Parameter must be an array or an object that implements Countable'。
以下是一些常见的原因及解决方法:
-
确保参数是数组或实现了 Countable 接口的对象
-
如果你使用的是 POST 请求,可以使用
$_POST数组来获取 POST 参数。确保$_POST是一个数组,如果不是,可以使用类型转换将其转换为数组。$data = (array) $_POST; -
如果你使用的是自定义对象,可以让该对象实现
Countable接口,并实现count()方法来返回对象中的元素个数。class CustomObject implements Countable { private $data = array(); public function count() { return count($this->data); } }
-
-
使用 count() 函数获取元素个数
确保你的参数类型正确后,可以使用
count()函数来获取数组或对象中的元素个数。$count = count($data);
通过以上方法,就可以避免出现 'Parameter must be an array or an object that implements Countable' 错误了。
原文地址: https://www.cveoy.top/t/topic/qoZ6 著作权归作者所有。请勿转载和采集!