Bagaimana untuk Menyiapkan Awalan dengan Kekunci Tatasusunan dengan Cekap dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-10-27 06:40:03
asal
174 orang telah melayarinya

 How to Efficiently Prepend a Prefix to Array Keys in PHP?

Menyediakan Awalan kepada Kekunci Tatasusunan Dengan Cekap

Apabila memanipulasi tatasusunan, selalunya perlu menambah awalan pada semua kunci. Operasi ini boleh dilakukan dalam beberapa cara, tetapi tidak semua pendekatan adalah sama cekap.

Penyelesaian Terpantas

Penyelesaian terpantas ialah menggunakan array_combine() bersama-sama dengan array_map ():

<code class="php">$prefix = "prefix";
$array = array_combine(
    array_map(fn($k) => $prefix . $k, array_keys($array)),
    $array
);</code>
Salin selepas log masuk

Kaedah ini berulang ke atas kunci tatasusunan asal, menambahkan awalan dan mencipta tatasusunan baharu menggunakan array_combine() untuk menetapkan semula kunci dan nilai dengan sewajarnya.

Penyelesaian Lain

Penyelesaian lain termasuk:

  • Menggunakan gelung foreach untuk mengulangi setiap kekunci dan menambah awalan secara manual, diikuti dengan menyahset kekunci asal:
<code class="php">foreach ($array as $k => $v)
{
    $array[$prefix . $k] = $v;
    unset($array[$k]);
}</code>
Salin selepas log masuk
  • Menggunakan kelas KeyPrefixer tersuai dengan kaedah __construct() dan kaedah mapArray() untuk melaksanakan operasi awalan dengan cekap:
<code class="php">$prefix = "prefix";
$array = KeyPrefixer::prefix($array, $prefix);</code>
Salin selepas log masuk

Perspektif Sejarah

Sebelum PHP 5.3, pendekatan berbeza diperlukan:

<code class="php">$prefixer = new KeyPrefixer($prefix);
return $prefixer->mapArray($array);</code>
Salin selepas log masuk

Kaedah ini menggunakan kelas tersuai dan array_map() dengan fungsi tanpa nama untuk memanipulasi kunci dan nilai.

Atas ialah kandungan terperinci Bagaimana untuk Menyiapkan Awalan dengan Kekunci Tatasusunan dengan Cekap dalam PHP?. 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
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!