Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menggantikan Fungsi `setiap()` yang Dihentikan dalam PHP?

Bagaimanakah Saya Boleh Menggantikan Fungsi `setiap()` yang Dihentikan dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-16 01:25:09733semak imbas

How Can I Replace the Deprecated `each()` Function in PHP?

Mengemaskini Kod untuk Mengelak Menggunakan Fungsi Setiap () Dihentikan

Fungsi each() telah ditamatkan secara rasmi dalam PHP 7.2, mendorong keperluan untuk kemas kini kod untuk mengelakkan ralat dan mengekalkan amalan terbaik. Artikel ini memberikan panduan tentang cara memodenkan kod yang pada masa ini menggunakan setiap().

Kod Contoh dan Penyelesaian:

Pertimbangkan petikan kod berikut dan kemas kini yang sepadan:

$ar = $o->me;
reset($ar);
list($typ, $val) = each($ar);

Kemas kini: Gunakan kunci() dan semasa() untuk nilai tugasan.

$ar = $o->me; // Reset no longer required
$typ = key($ar);
$val = current($ar);
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = each($out);

Kemas kini: Gunakan kunci() dan semasa() untuk mendapatkan semula elemen.

$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = [key($out), current($out)];
for(reset($broken);$kv = each($broken);) {...}

Kemas kini : Memperkenalkan gelung foreach dengan nilai kunci manual tugasan.

foreach ($broken as $k => $v) {
     $kv = [$k, $v];
}
list(, $this->result) = each($this->cache_data);

Kemas kini: Tetapkan nilai semasa secara langsung, dengan pilihan kemajuan next().

$this->result = current($this->cache_data);
// iterating to the end of an array or a limit > the length of the array
$i = 0;
reset($array);
while( (list($id, $item) = each($array)) || $i < 30 ) {
    // code
    $i++;
}

Kemas kini : Gunakan gelung for untuk traversal dengan nilai kunci manual mendapatkan semula.

reset($array);
for ($i = 0; $i < 30; $i++) {
    $id = key($array);
    $item = current($array);
    // code
    next($array);
}

Dengan melaksanakan kemas kini ini, anda boleh memodenkan kod anda dengan berkesan dan menyelaraskannya dengan piawaian PHP semasa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggantikan Fungsi `setiap()` yang Dihentikan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn