只有当返回的数组太长时,才会在下面的代码中生成此错误。用短数组(我不知道确切多少)不会发生。
$phone_numbers = array();
if(!empty($_POST['phone_numbers']))
$phone_numbers = json_decode($_POST['phone_numbers']);
$phone_numbers_var = str_repeat('?,', count(json_decode($_POST['phone_numbers'])) - 1) . '?'; // <-- error line
是否有一个限制,以计数()参数?
有趣的是,如果数组中有以0开头的数字,则会发生错误。当我删除首字母0时,就可以了。
$phone_numbers = [011364346387, 33334444, ..., n] //error
$phone_numbers = [11364346387, 33334444, ..., n] //is ok!
首先检查你$_POST['phone_numbers']什么是得到
记住:
var_dump(计数(空))
<代码>变量转储(计数(假));
将输出:
Warning: count(): Parameter must be an array or an object that implements Countable in
我认为PHP版本7.2的计数有点奇怪...但是你可以尝试这样的东西:
https://wiki.php.net/rfc/counting_non_countables
编辑:
请发表评论:
$POST['phone_numbers'] = [165567, 545675, 655666];
如果你尝试这样做:
json_decode($POST['phone_numbers']);
将返回此:
WARNING json_decode() expects parameter 1 to be string, array given on line number 4
数一数...你知道...只要做:
count($POST['phone_numbers']);
我面临着奇怪的案子。我在生产环境中面临一个错误,而在开发中它工作正常。 开发: Laravel 5.4.28 PHP 7.0.13 MYSQL 5.7.17 制作:Laravel 5.4.28 PHP 7.2.1 MYSQL 5.7.20 在实现代码中。我用过: 在开发中,它运行良好。但是在生产中,它给我这个错误:Count():参数必须是一个数组或一个在Builder.php中实现可数的对象(第
我正在处理symfony,收到了这个消息 参数必须是实现可数的数组或对象 此消息仅针对PHP7.2.14显示,不针对PHP7.1.26。 我想在服务器上应用的解决方案,就像这一个phpmyAdmin。 我知道有一些解决方案涉及像这样更改代码。 但我想要一个解决方案,是所有页面,所以在服务器端。 提前谢谢!
我将我的Wordpress站点从PHP 5.6更新到7.2,并注意到更新后我的Wordpress后端出现错误。它说: 我已经包括了那一行和下面两行的代码。任何帮助都将不胜感激。
这是我的代码片段在文件public_html/wp-内容/主题/arabv3/CustomMetaBox/CMB2.php,从第565行开始 运行代码时,出现以下错误: 参数必须是一个数组或一个对象,实现可数的
安装 让我们试着上一节课 好吧但是现在让我们尝试一个函数 现在有错误(警告)。为什么啊? 我还尝试通过composer安装phpdoc 但结果更糟 在这一点上,我想知道,这个phpdoc是一个有效的工具吗?是我不能用的吗?发生了什么?
我在PHPmyadmin中有一些奇怪的错误。 ./libraries/pmd_common.php#405 count()中的警告:参数必须是实现可计数的数组或对象 回溯 ./db_designer.php#102:PMA_getLoadingPage(字符串'db_Name') 如何修复它?