Mengubah Suai Nilai Tatasusunan dalam Gelung Foreach
Dalam PHP, adalah mungkin untuk mengubah suai objek semasa yang dikendalikan dalam gelung foreach. Untuk berbuat demikian, terdapat dua pendekatan utama:
Menggunakan Pembolehubah Gelung dengan Kunci Tatasusunan:
<?php foreach($questions as $key => $question){ $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); } ?>
Di sini, kami mengulangi tatasusunan $questions menggunakan pembolehubah gelung ($kunci) yang mewakili indeks tatasusunan. Dengan mengemas kini tatasusunan $questions secara eksplisit pada indeks ($key) yang sepadan, kami mengubah suai objek asal dengan berkesan.
Menggunakan Rujukan:
<?php foreach($questions as &$question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); } ?>
Dalam ini kes, kami menambah ampersand (&) sebelum pembolehubah gelung ($soalan), yang memberikan rujukan kepada objek. Dengan mengubah suai objek melalui rujukan, kami terus mengemas kini objek dalam tatasusunan $questions asal.
Pendekatan Manakah yang Disyorkan?
Semasa kedua-dua pendekatan berfungsi, menggunakan pembolehubah gelung dengan kunci tatasusunan biasanya lebih disukai. Ini kerana ia mengemas kini tatasusunan asal secara eksplisit, menjadikannya lebih mudah untuk menjejak pengubahsuaian untuk penyahpepijatan atau pemprosesan selanjutnya.
Atas ialah kandungan terperinci Cara Mengubah Suai Nilai Tatasusunan dalam Gelung Foreach PHP: Rujukan atau Kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!