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
Lepaskan: 2024-12-16 01:25:09
asal
731 orang telah melayarinya

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);
Salin selepas log masuk

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

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

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

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

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

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

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

$this->result = current($this->cache_data);
Salin selepas log masuk
// 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++;
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan