记laravel项目,本地环境PHP7.1,线上PHP版本7.2,报错each函数废弃问题
【摘要】
the each() function is deprecated. this message will be suppressed on further calls laravel
例子1:
php7.1写法
if ( is_array( $u ) ) { while( l...
the each() function is deprecated. this message will be suppressed on further calls laravel
例子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;
-
}
参考:php 7.2 each() function is deprecated
文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/lxw1844912514/article/details/108755853
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)