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
Lepaskan: 2024-12-22 04:28:14
asal
880 orang telah melayarinya

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']);
    }
    Salin selepas log masuk

    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']);
    }
    Salin selepas log masuk

    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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan