php 7.2 each() 函数已弃用
php 7.2 each() function is deprecated
if ( is_array( $u ) ) {
while( list( $key ) = each( $u ) ) {
$u = $u[$key];
break;
}
}
我的 php 版本是 7.2
当我 运行 它在 laravel 框架上时,我遇到了这个错误
The each() function is deprecated. This message will be suppressed on further calls
我发现那是我必须将每个更改为 foreach
enter link description here
如果有人更改代码让我继续工作 php 7.2 谢谢
if (is_array($u)) {
foreach ($u as $k => $v) {
$u = $u[$k]; // or $v
break;
}
}
但是 $u
将始终是数组的第一个值,所以我看不出您在哪里需要它。您只需执行 $u = $u[0];
即可获取数组的第一个值
while( list( $key ) = each( $u ) ) {
$u = $u[$key];
break;
}
绝对没有理由在这里循环。您只是从数组中获取第一个值并覆盖数组。上面的循环可以使用 current() 在一行中重写,这将从数组中提取当前值(如果数组的指针未被更改,则为第一个值):
$u = current($u);
正如 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 ) {...}
请阅读:
if ( is_array( $u ) ) {
while( list( $key ) = each( $u ) ) {
$u = $u[$key];
break;
}
}
我的 php 版本是 7.2 当我 运行 它在 laravel 框架上时,我遇到了这个错误
The each() function is deprecated. This message will be suppressed on further calls
我发现那是我必须将每个更改为 foreach enter link description here
如果有人更改代码让我继续工作 php 7.2 谢谢
if (is_array($u)) {
foreach ($u as $k => $v) {
$u = $u[$k]; // or $v
break;
}
}
但是 $u
将始终是数组的第一个值,所以我看不出您在哪里需要它。您只需执行 $u = $u[0];
while( list( $key ) = each( $u ) ) {
$u = $u[$key];
break;
}
绝对没有理由在这里循环。您只是从数组中获取第一个值并覆盖数组。上面的循环可以使用 current() 在一行中重写,这将从数组中提取当前值(如果数组的指针未被更改,则为第一个值):
$u = current($u);
正如 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 ) {...}
请阅读: