Soalan:
Adakah mungkin untuk mengedit objek semasa yang dikendalikan dalam a foreach gelung?
Konteks:
Anda mempunyai pelbagai objek ($soalan) dengan jawapan yang berkaitan dalam pangkalan data. Anda cuba mengambil jawapan ini untuk setiap objek soalan semasa lelaran gelung.
Penyelesaian:
Anda boleh mengubah suai objek semasa dalam gelung foreach dengan menggunakan satu daripada kaedah berikut:
Kunci Tugasan:
foreach($questions as $key => $question){ $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
Kaedah ini mengekalkan kunci tatasusunan, membolehkan anda mengemas kini nilai secara terus.
Tugasan Rujukan:
foreach($questions as &$question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
Menambah ampersand (&) sebelum nama pembolehubah menghantar rujukan kepada objek, membolehkan pengubahsuaian langsung dalam gelung.
Cadangan:
Walaupun kaedah penetapan rujukan ringkas, kaedah penetapan kunci secara amnya disyorkan kerana ia memastikan tingkah laku boleh diramal dalam tatasusunan berbilang dimensi.
Atas ialah kandungan terperinci Bolehkah saya Mengubah Suai Objek Tatasusunan Terus Dalam Gelung Foreach?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!