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>
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>
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>
Proses ini:
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!