Mengubah Suai Nilai Tatasusunan Asal Menggunakan Gelung foreach dalam PHP
Apabila bekerja dengan tatasusunan dalam PHP, terutamanya tatasusunan berbilang dimensi, mengakses dan mengubah suai elemennya boleh menjadi rumit. Satu cabaran biasa timbul apabila menggunakan gelung foreach untuk mengulang tatasusunan dan mengemas kini nilai asalnya.
Dalam kes ini, mari kita pertimbangkan tatasusunan $fields yang mewakili maklumat medan borang:
$fields = [ "names" => [ "type" => "text", "class" => "name", "name" => "name", "text_before" => "name", "value" => "", "required" => true, ] ];
Sekarang, bayangkan fungsi yang mengesahkan medan, menetapkan kekunci "nilai" kepada "Sesetengah ralat" jika input borang yang sepadan ialah kosong:
function checkForm($fields) { foreach ($fields as $field) { if ($field['required'] && strlen($_POST[$field['name']]) <= 0) { $fields[$field]['value'] = "Some error"; } } return $fields; }
Barisan bermasalah ialah:
$fields[$field]['value'] = "Some error";
Matlamat di sini adalah untuk mengemas kini tatasusunan asal, tetapi cara untuk mengakses kunci tatasusunan tidak jelas dengan segera (dalam kes ini , "nama") dalam gelung.
Menggunakan $key untuk Tatasusunan Asal Pengindeksan
Satu penyelesaian ialah menggunakan pembolehubah $key yang tersedia dalam gelung foreach. Ia mewakili kunci elemen tatasusunan semasa yang diulang:
foreach ($fields as $key => $field) { if ($field['required'] && strlen($_POST[$field['name']]) <= 0) { $fields[$key]['value'] = "Some error"; } }
Pendekatan ini menggunakan $field untuk mengakses nilai medan semasa dan $fields[$key] untuk memanipulasi tatasusunan asal, membolehkan pengubahsuaian yang cekap daripada kunci "nilai" elemen.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Suai Nilai Tatasusunan Asal Menggunakan Gelung foreach dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!