从已弃用的each() 函数升级代码
PHP 7.2 已弃用each() 函数,在使用它时会导致警告。本文探讨如何现代化代码并避免使用each()。
示例案例
以下是之前使用each() 的几个示例:
使用reset()和赋值list():
$ar = $o->me; reset($ar); list($typ, $val) = each($ar);
直接赋值:
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null); $expected = each($out);
错误地迭代数组:
for(reset($broken);$kv = each($broken);) {...}
忽略 a 中的键list() 赋值:
list(, $this->result) = each($this->cache_data);
使用长度检查错误迭代:
reset($array); while( (list($id, $item) = each($array)) || $i < 30 ) { // code $i++; }
更新的代码
1。赋值
替换为 key() 和 current():
$ar = $o->me; $typ = key($ar); $val = current($ar);
2.直接赋值
替换为显式数组键和值:
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null); $expected = [key($out), current($out)];
3.正确的迭代
使用foreach()并在循环内分配键值对:
foreach ($broken as $k => $v) { $kv = [$k, $v]; }
4.键忽略
直接赋值当前值:
$this->result = current($this->cache_data);
5.带检查的数组迭代
替换为传统的 for() 循环:
reset($array); for ($i = 0; $i < 30; $i++) { $id = key($array); $item = current($array); // code next($array); }
以上是如何替换 PHP 已弃用的 `each()` 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!