解决php使用支付宝SDK报错问题
最近公司将一些项目转移了服务器,后来发现使用支付宝支付时发现出现错误,错误如下:
The each() function is deprecated. This message will be suppressed on furthe
最后发现这是由于我们的新服务器的php版本安装的时php7.2,由于php7.2版本废弃了each方法导致出现错误,解决方法为将each方法改成foreach方法,如下将:
while (list($key, $val) = each($para)) {}
改成:
foreach ($para as $key => $val) {}
修改完成支付又发现出现如下错误:
count(): Parameter must be an array or an object that implements Countable
这是由于在php7.2中count方法参数只支持数组导致的错误,修改如下将:
$arg = substr($arg,0,count($arg)-2);
改成:
$arg = substr($arg,0,strlen($arg)-1);
修改完成之后支付宝支付成功!!!
php中文网:https://mp.weixin.qq.com/s/7NpJoFtxzKnfNRlR5UiIVg