首頁 >後端開發 >php教程 >如何替換 PHP 已棄用的 `each()` 函數?

如何替換 PHP 已棄用的 `each()` 函數?

Barbara Streisand
Barbara Streisand原創
2024-12-20 15:01:11758瀏覽

How to Replace PHP's Deprecated `each()` Function?

從已棄用的each() 函數升級程式碼

PHP 7.2 已棄用each() 函數,在使用它時會導致警告。本文探討如何現代化程式碼並避免使用each()。

範例案例

以下是幾個先前使用each() 的範例:

  1. 使用reset()和賦值list():

    $ar = $o->me;
    reset($ar);
    list($typ, $val) = each($ar);
  2. 直接賦值:

    $out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
    $expected = each($out);
  3. 直接賦值:

    for(reset($broken);$kv = each($broken);) {...}
  4. 錯誤地迭代數組:

    list(, $this->result) = each($this->cache_data);
  5. 忽略a 中的鍵list() 賦值:

    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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn