Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memasukkan ke dalam Tatasusunan Bersekutu dengan array_splice()?

Bagaimana untuk Memasukkan ke dalam Tatasusunan Bersekutu dengan array_splice()?

Mary-Kate Olsen
Lepaskan: 2024-10-18 13:27:30
asal
451 orang telah melayarinya

How to Insert into Associative Arrays with array_splice()?

Memasukkan ke dalam Tatasusunan Bersekutu dengan array_splice()

Dalam PHP, bekerja dengan tatasusunan bersekutu boleh menjadi rumit apabila memasukkan elemen baharu sambil mengekalkan susunan kunci sedia ada. Walaupun array_splice() ialah fungsi yang berkuasa untuk memanipulasi tatasusunan berangka, ia gagal apabila berurusan dengan yang bersekutu.

Masalah:

Andaikan kita mempunyai tatasusunan bersekutu yang mewakili atribut buah:

<code class="php">$fruit = [
    'color' => 'red',
    'taste' => 'sweet',
    'season' => 'summer'
];</code>
Salin selepas log masuk

Kami ingin memasukkan atribut baharu, 'tekstur', dengan nilai 'bergelombang', di belakang kekunci 'rasa'. Output yang kami maksudkan ialah:

<code class="php">$fruit = [
    'color' => 'red',
    'taste' => 'sweet',
    'texture' => 'bumpy',
    'season' => 'summer'
];</code>
Salin selepas log masuk

Penyelesaian:

array_splice() tidak boleh digunakan terus untuk tugas ini. Sebaliknya, pendekatan manual diperlukan:

<code class="php">$offset = 2; // Insert at offset 2 (behind 'taste')
$newFruit = array_slice($fruit, 0, $offset, true) +
            ['texture' => 'bumpy'] +
            array_slice($fruit, $offset, NULL, true);

print_r($newFruit);</code>
Salin selepas log masuk

Proses ini:

  1. Menggunakan array_slice() untuk mencipta tatasusunan baharu yang mengandungi dua elemen pertama $fruit: ['color ' => 'merah', 'rasa' => 'manis'].
  2. Menambah atribut baharu: ['texture' => 'bergelombang'].
  3. Menggabungkan baki elemen $fruit menggunakan array_slice().

Pendekatan ini mengekalkan susunan kunci sedia ada sambil memperkenalkan atribut baharu dalam kedudukan yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan ke dalam Tatasusunan Bersekutu dengan array_splice()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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