Mengapa Tidak Mengubah Suai Nilai Tatasusunan dalam Gelung Foreach Berfungsi, dan Bagaimana Saya Boleh Membetulkannya?

Barbara Streisand
Lepaskan: 2024-11-28 06:08:18
asal
505 orang telah melayarinya

Why Doesn't Modifying Array Values in a Foreach Loop Work, and How Can I Fix It?

Mengubah Suai Nilai Tatasusunan dengan Gelung Foreach

Dalam kod anda, anda menggunakan gelung foreach untuk mengulangi $bizaddarray dan mengubah suai setiap nilai menggunakan fungsi strip_tags, ucwords dan strtolower. Walau bagaimanapun, nampaknya teg HTML masih ada apabila anda menukar tatasusunan kepada rentetan kemudian. Ini kerana gelung foreach secara lalai mencipta salinan elemen tatasusunan, jadi sebarang perubahan yang anda buat pada salinan tersebut tidak ditunjukkan dalam tatasusunan asal.

Mengubahsuai Nilai Secara Terus

Untuk membuat perubahan kekal, anda perlu mengubah suai nilai tatasusunan asal secara langsung. Terdapat dua cara untuk mencapai ini:

Kaedah 1: Menggunakan Rujukan Memori

Kaedah ini melibatkan penggunaan & operator untuk mendapatkan rujukan kepada nilai tatasusunan asal. Sebarang perubahan yang anda buat melalui rujukan ini secara langsung akan mengubah suai elemen yang sepadan dalam tatasusunan asal.

foreach ($bizaddarray as &$value) {
    $value = strip_tags(ucwords(strtolower($value)));
}
unset($value); // Remove the reference to prevent unintended modifications
Salin selepas log masuk

Kaedah 2: Menggunakan Tatasusunan Sumber

Kaedah ini melibatkan mengakses elemen tatasusunan sumber menggunakan pembolehubah $key. Sebarang perubahan yang anda buat melalui elemen ini juga akan mengemas kini tatasusunan asal.

foreach ($bizaddarray as $key => $value) {
    $bizaddarray[$key] = strip_tags(ucwords(strtolower($value)));
}
Salin selepas log masuk

Dengan menggunakan salah satu kaedah ini, teg HTML hendaklah dialih keluar secara kekal daripada nilai tatasusunan anda dan ia akan ditunjukkan dalam rentetan penukaran.

Atas ialah kandungan terperinci Mengapa Tidak Mengubah Suai Nilai Tatasusunan dalam Gelung Foreach Berfungsi, dan Bagaimana Saya Boleh Membetulkannya?. 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