從已棄用的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);) {...}
list(, $this->result) = each($this->cache_data);
reset($array); while( (list($id, $item) = each($array)) || $i < 30 ) { // code $i++; }
更新的程式碼
1。賦值$ar = $o->me; $typ = key($ar); $val = current($ar);
替換為 key() 和current():
2.直接賦值$out = array('me' => array(), 'mytype' => 2, '_php_class' => null); $expected = [key($out), current($out)];
替換為明確陣列鍵與值:
foreach ($broken as $k => $v) { $kv = [$k, $v]; }
3.正確的迭代
$this->result = current($this->cache_data);
使用foreac h()並在循環內分配鍵值對:
4.鍵忽略
reset($array); for ($i = 0; $i < 30; $i++) { $id = key($array); $item = current($array); // code next($array); }直接賦值目前值:5.帶檢查的陣列迭代替換為傳統的for() 迴圈:
以上是如何替換 PHP 已棄用的 `each()` 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!