Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menambah Awalan pada Kekunci Tatasusunan dengan Cekap dalam PHP?

Bagaimana untuk Menambah Awalan pada Kekunci Tatasusunan dengan Cekap dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-10-26 14:18:30530semak imbas

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

Menambah Awalan pada Kekunci Tatasusunan Dengan Cekap

Soalan pentingnya ialah: Bagaimana cara menambahkan awalan pada kunci tatasusunan rata dengan cekap?

Penyelesaian 1: Menggunakan PHP >= 7.4 Fungsi Anak Panah

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

Penyelesaian 2: Menggunakan Kelas Luaran (PHP < 5.3)

Untuk versi PHP sebelum 5.3, kelas berikut- pendekatan berasaskan boleh digunakan:

<code class="php">class KeyPrefixer {

    private $prefix;

    public function __construct($prefix) {
        $this->prefix = (string)$prefix;
    }

    public static function prefix(array $array, $prefix)
    {
        $prefixer = new KeyPrefixer($prefix);
        return $prefixer->mapArray($array);
    }

    public function mapArray(array $array)
    {
        return array_combine(
            array_map(array($this, 'mapKey'), array_keys($array)),
            $array
        );
    }

    public function mapKey($key) {
        return $this->prefix . (string)$key;
    }
}

$prefix = "prefix";
$array = KeyPrefixer::prefix($array, $prefix);<h3>Pendekatan Tambahan</h3>
<ul><li><strong>Menggunakan Gelung (PHP >= 5.3)</strong></li></ul>
<pre class="brush:php;toolbar:false"><code class="php">$prefix = "prefix";
foreach ($array as $k => $v)
{
    $array[$prefix . $k] = $v;
    unset($array[$k]);
}</code>
  • Menggunakan array_combine() dengan create_function() (PHP < 5.3)

Tidak disyorkan atas sebab keselamatan.

<code class="php">$array = array_combine(
    array_map(create_function('$k', 'return "prefix$k";'), array_keys($array)),
    $array
);</code>

Atas ialah kandungan terperinci Bagaimana untuk Menambah Awalan pada Kekunci Tatasusunan dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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