Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Tidak Mengubah Suai Nilai Tatasusunan dalam Gelung Foreach Berfungsi, dan Bagaimana Saya Boleh Membetulkannya?
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
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))); }
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!