cari
  • Log masuk
  • Daftar
Penetapan semula kata laluan berjaya

Ikuti proiects vou berminat dengan andi aet terbaru mengenai mereka

foreach mengubah suai


1. Gelung foreach() tidak lagi berfungsi pada penunjuk dalaman tatasusunan.

$array = [0, 1, 2];
foreach ($array as &$val) 
{
    var_dump(current($array));
}
Hasil operasi PHP7 akan mencetak int(0) tiga kali, yang bermaksud penunjuk dalaman tatasusunan tidak berubah.

Hasil larian sebelumnya akan mencetak int(1), int(2) dan bool(false)

2. Apabila gelung mengikut nilai, foreach ialah operasi salinan tatasusunan

Apabila foreach bergelung mengikut value ( by-value), foreach beroperasi pada salinan tatasusunan. Dengan cara ini, pengubahsuaian pada tatasusunan semasa gelung tidak akan menjejaskan kelakuan gelung.
$array = [0, 1, 2];
$ref =& $array; // Necessary to trigger the old behavior
foreach ($array as $val) {
    var_dump($val);
    unset($array[1]);
}
Walaupun kod di atas menyahset elemen kedua tatasusunan dalam gelung, PHP7 masih akan mencetak tiga elemen: (0 1 2)

Versi lama PHP akan melangkau 1 dan hanya mencetak ( 0 2).

3. Apabila gelung berdasarkan rujukan, pengubahsuaian pada tatasusunan akan menjejaskan gelung.

Jika anda menggunakan rujukan semasa menggelung, pengubahsuaian pada tatasusunan akan menjejaskan kelakuan gelung. Walau bagaimanapun, versi PHP7 mengoptimumkan penyelenggaraan lokasi di bawah banyak senario. Contohnya, menambahkan elemen pada tatasusunan semasa menggelung.

$array = [0];
foreach ($array as &$val) {
    var_dump($val);
    $array[1] = 1;
}

Elemen yang dilampirkan dalam kod di atas juga akan mengambil bahagian dalam gelung, jadi PHP7 akan mencetak "int(0) int(1)", dan versi lama hanya akan mencetak "int(0)".

4. Menggulung pada objek mudah kosong (tidak boleh dilalui).

Menggelung pada objek mudah, sama ada menggelung mengikut nilai atau menggelung dengan rujukan, berkelakuan sama seperti menggelung melalui rujukan dalam tatasusunan. Walau bagaimanapun, pengurusan lokasi akan menjadi lebih tepat.

5 Kelakuan objek untuk objek Boleh Dilalui adalah sama seperti sebelumnya.

Nota editor: penjelasan stackoverflow di atas: Objek boleh dilalui ialah objek yang melaksanakan antara muka Iterator atau IteratorAggregate. Jika objek melaksanakan antara muka iterator atau IteratorAggregate, ia boleh dipanggil objek iterator.

Alat AI Hot
Undress AI Tool
Undress AI Tool

Gambar buka pakaian secara percuma

AI Clothes Remover
AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undresser.AI Undress
Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

Stock Market GPT
Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat popular
Notepad++7.3.1
Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac
SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)