Cara Memasukkan Elemen dan Mengekalkan Susunan Utama dalam Tatasusunan Bersekutu Menggunakan array_splice()

Susan Sarandon
Lepaskan: 2024-10-18 13:21:03
asal
951 orang telah melayarinya

How to Insert Elements and Preserve Key Order in Associative Arrays Using array_splice()

Mengekalkan Susunan Kunci Apabila Memasukkan ke dalam Tatasusunan Bersekutu menggunakan array_splice()

Apabila bekerja dengan tatasusunan bersekutu, ia boleh menjadi mencabar untuk memasukkan elemen baharu sambil mengekalkan kunci sedia ada pesanan. Pertimbangkan tatasusunan contoh:

array(
  "color" => "red",
  "taste" => "sweet",
  "season" => "summer"
);
Salin selepas log masuk

Untuk memperkenalkan elemen baharu, "tekstur", selepas item kedua, hasil yang dijangkakan ialah:

array(
  "color" => "red",
  "taste" => "sweet",
  "texture" => "bumpy",
  "season" => "summer"
);
Salin selepas log masuk

Walau bagaimanapun, terbina dalam Fungsi array_slice() beroperasi pada kekunci angka dan tidak boleh digunakan untuk tujuan ini.

Sisipan Manual dengan array_slice() dan Operator

Untuk mencapai hasil yang diingini, pendekatan manual diperlukan menggunakan array_slice( ) dan operator gabungan tatasusunan:

<code class="php">// Insert at offset 2
$offset = 2;
$newArray = array_slice($oldArray, 0, $offset, true) +
            array('texture' => 'bumpy') +
            array_slice($oldArray, $offset, NULL, true);</code>
Salin selepas log masuk

Pendekatan ini berfungsi dengan:

  1. Menggunakan array_slice() untuk mencipta dua subarray: satu mengandungi elemen sebelum titik sisipan dan satu mengandungi elemen selepas itu.
  2. Menggabungkan dua subarray dengan elemen baharu.
  3. Pengendali menggabungkan tatasusunan sambil mengekalkan kekunci dan susunan asalnya.

Dengan menggabungkan array_splice () dan pengendali, anda boleh memasukkan elemen ke dalam tatasusunan bersekutu dengan berkesan sambil mengekalkan susunan kunci sedia ada.

Atas ialah kandungan terperinci Cara Memasukkan Elemen dan Mengekalkan Susunan Utama dalam Tatasusunan Bersekutu Menggunakan array_splice(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!