温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决laravel项目本地环境PHP7报错each函数废弃问题

发布时间:2021-10-11 11:51:18 来源:亿速云 阅读:192 作者:柒染 栏目:大数据

如何解决laravel项目本地环境PHP7报错each函数废弃问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

 例子1:

php7.1写法

if ( is_array( $u ) ) {            while( list( $key ) = each( $u ) ) {                $u = $u[$key];                break;            }        }

改为php7.2写法

if ( is_array( $u ) ) {          $u = current($u);        }
As PHP7.2 says, I suggest to use   foreach()   function as a substitute of deprecated   each()  . Here I let a couple of examples that works to me in Wordpress.----正如PHP7.2所说,我建议使用foreach()函数来替代已弃用的each()。这里我举几个在Wordpress中对我有用的例子。  
(OLD) while ( list( $branch, $sub_tree ) = each( $_tree ) ) {...}(NEW) foreach ( (Array) $_tree as $branch => $sub_tree ) {...}  (OLD) while ( $activity = each( $this->init_activity ) ) {...}(NEW) foreach ( $this->init_activity as $activity ) {...} (old)while(list($file, $info) = each($this->images))(new)foreach($this->images as $file => $info) {    // ...}

例子2 

16548 while (list($id, $name) = each($attr_array[1])) {  //7.1 I replaced the line with the next code in both lines and it worked,替换为如下 foreach($attr_array[1] as $id => $name) {  //7.2

例子3:我的例子:支付过程中生成签名时出现错误 

public function createLinkString($param)    {        $arg = "";        //数组排序        ksort($param);        reset($param);        //7.1写法        /*while (list ($key, $val) = each($param)) {            if ($key == "sign") continue;            if (!empty($key)) {                $arg .= $key . "=";            }            if (is_array($val)) {                $arg .= $this->createLinkString($val) . "&";            } else {                $arg .= $val . "&";            }        }*/        //7.2写法        foreach ($param as $key => $val) {            if ($key == "sign") continue;            if (!empty($key)) {                $arg .= $key . "=";            }            if (is_array($val)) {                $arg .= $this->createLinkString($val) . "&";            } else {                $arg .= $val . "&";            }        }        //去掉最后一个&字符        $arg = substr($arg, 0, strlen($arg) - 1);        return $arg;    }

总之,一句话,php7.2版本中each函数废弃了不能用,直接用foreach替换就ok了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI