Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah saya Mengubah Suai Objek Tatasusunan Terus Dalam Gelung Foreach?

Bolehkah saya Mengubah Suai Objek Tatasusunan Terus Dalam Gelung Foreach?

DDD
DDDasal
2024-12-22 04:28:14884semak imbas

Can I Modify Array Objects Directly Within a Foreach Loop?

Mengubah Suai Nilai Tatasusunan dengan Gelung Foreach

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:

  1. 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.

  2. 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!

Kenyataan:
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