2 回答
TA贡献1820条经验 获得超10个赞
在 PHP 7.2 中,如果您对不可数的变量调用 count(),PHP 会显示有关它的警告。一个常见的解决方法是在调用 count() 之前检查给定变量是否是“可数”。
“可数”变量可以是数组,也可以是实现 \Countable 接口的类的对象。因为可能有很多样板代码,所以 PHP 7.3 现在有一个新的 is_countable() 函数,如果传递的变量是……嗯……可数,则该函数返回 true。
https://php.watch/versions/7.3#new-is_countable-function
我会做这样的事情:
if(isset($_matchup['franchise'][$m]['player']) && is_countable($_matchup['franchise'][$m]['player']) {
for($k=0;$k<count($_matchup['franchise'][$m]['player']);$k++){
...
}
}
如果你的版本低于 7.3,请将这个 polyfill 放入你的代码中:
if (!function_exists('is_countable')) {
function is_countable($var) {
return is_array($var)
|| $var instanceof Countable
|| $var instanceof ResourceBundle
|| $var instanceof SimpleXmlElement;
}
}
TA贡献1831条经验 获得超10个赞
请确保它$_matchup['franchise'][$m]['player']
实际上是一个可以计数的变量。正如错误消息所示。
比如数组
这行代码应该兼容 PHP5 和 PHP7
- 2 回答
- 0 关注
- 140 浏览
添加回答
举报