PHP 7.2 count() 函数不工作
PHP 7.2 count() function is not working
我有一个可用的 php 应用程序,它在 php 7.0 版本上 运行 没问题。但是当我将 php 版本升级到 7.2 时。我收到此错误:
count(): Parameter must be an array or an object that implements Countable
我在将数据与计数函数进行比较时遇到代码错误。例如这是我的代码:
$keytest = KeyUser::where('key', '=', $key)->first();
if (count($keytest) == 1) {
//logic ...
}
我在 laravel 处使用 运行 查询并计算它,如果它等于 1,则逻辑应该工作。
所以我的问题是我已经在许多控制器上编写了这种逻辑,如果我必须一个一个地更改所有内容,它可能会成为噩梦。那么有没有什么方法可以让我编写一个全局函数来使计数工作,因为它在 php 旧版本中工作。什么是最简单的修复方法。
可以使用禁用错误处理来处理此问题。请参考此 link 解决方案:Laravel not compatiable with php 7.2
我在这里找到了解决您问题的方法,只需在您的控制器中编写此代码,或者如果您想让它适用于整个应用程序,请在 route.php:
中编写此代码
//app/Http/routes.php
if (version_compare(PHP_VERSION, '7.2.0', '>=')) {
// Ignores notices and reports all other kinds... and warnings
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
// error_reporting(E_ALL ^ E_WARNING); // Maybe this is enough
}
我知道这不是最好的解决方案,但它可以是一个很好的破解方法。
修改代码即可解决:
$keytest = KeyUser::where('key', '=', $key)->first();
if ($keytest) {
//logic ...
}
尝试使用这个代替“count”你可以使用“empty”函数来检查内容。例如:而不是:
if ( count( $data ) )
使用:
if ( ! empty( $data ) )
我有一个可用的 php 应用程序,它在 php 7.0 版本上 运行 没问题。但是当我将 php 版本升级到 7.2 时。我收到此错误:
count(): Parameter must be an array or an object that implements Countable
我在将数据与计数函数进行比较时遇到代码错误。例如这是我的代码:
$keytest = KeyUser::where('key', '=', $key)->first();
if (count($keytest) == 1) {
//logic ...
}
我在 laravel 处使用 运行 查询并计算它,如果它等于 1,则逻辑应该工作。
所以我的问题是我已经在许多控制器上编写了这种逻辑,如果我必须一个一个地更改所有内容,它可能会成为噩梦。那么有没有什么方法可以让我编写一个全局函数来使计数工作,因为它在 php 旧版本中工作。什么是最简单的修复方法。
可以使用禁用错误处理来处理此问题。请参考此 link 解决方案:Laravel not compatiable with php 7.2
我在这里找到了解决您问题的方法,只需在您的控制器中编写此代码,或者如果您想让它适用于整个应用程序,请在 route.php:
中编写此代码 //app/Http/routes.php
if (version_compare(PHP_VERSION, '7.2.0', '>=')) {
// Ignores notices and reports all other kinds... and warnings
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
// error_reporting(E_ALL ^ E_WARNING); // Maybe this is enough
}
我知道这不是最好的解决方案,但它可以是一个很好的破解方法。
修改代码即可解决:
$keytest = KeyUser::where('key', '=', $key)->first();
if ($keytest) {
//logic ...
}
尝试使用这个代替“count”你可以使用“empty”函数来检查内容。例如:而不是:
if ( count( $data ) )
使用:
if ( ! empty( $data ) )