Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memastikan kunci tidak berubah apabila menggabungkan tatasusunan php

Bagaimana untuk memastikan kunci tidak berubah apabila menggabungkan tatasusunan php

PHPz
PHPzasal
2023-04-18 14:11:231044semak imbas

Dalam PHP, tatasusunan ialah struktur data yang sangat biasa yang selalunya perlu dikendalikan dan diproses. Penggabungan tatasusunan ialah salah satu operasi biasa yang menggabungkan dua atau lebih tatasusunan menjadi tatasusunan yang lebih besar. Biasanya, apabila menggabungkan tatasusunan, nama kunci diubah suai dan nama kunci asal digantikan dengan nama kunci baharu, tetapi kadangkala perlu untuk menggabungkan tatasusunan tanpa menukar nama kunci. Jadi, bagaimana untuk menggabungkan tatasusunan dalam PHP sambil mengekalkan nama kunci tidak berubah? Seterusnya, kami akan memperkenalkan kaedah dan teknik untuk mencapainya melalui artikel ini.

1. Asas penggabungan tatasusunan PHP

Dalam PHP, anda boleh menggunakan fungsi array_merge() dan operator + untuk menggabungkan tatasusunan. Kaedah pelaksanaan dan kesan kedua-dua kaedah ini pada asasnya adalah sama, tetapi masih terdapat beberapa perbezaan yang ketara:

  1. array_merge() function

array_merge() fungsi menggabungkan satu atau lebih Tatasusunan digabungkan menjadi satu tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi semua elemen dalam tatasusunan parameter. Apabila bergabung, nama kunci akan disusun semula mengikut susunan penggabungan. Iaitu, tatasusunan berikut akan menggantikan nama kunci yang sama dalam yang sebelumnya. Sintaks khusus adalah seperti berikut:

array array_merge ( array $array1 [, array $array2 [, array $... ]] )

Kod sampel adalah seperti berikut:

$array1 = array("name"=>"张三", "age"=>20);
$array2 = array("age"=>25, "email"=>"zhangsan@gmail.com");
$array3 = array_merge($array1, $array2);
print_r($array3);

Hasil berjalan:

Array (
    [name] => 张三
    [age] => 25
    [email] => zhangsan@gmail.com
)
  1. +operator
+ boleh digunakan untuk menggabungkan tatasusunan dan mengekalkan nama kunci asal. Apabila terdapat nama kunci pendua, tatasusunan berikutnya akan menimpa tatasusunan sebelumnya. Kaedah penggunaan khusus adalah seperti berikut:

$newsArray = array("title"=>"新闻标题", "content"=>"新闻内容");
$imageArray = array("title"=>"图片标题", "url"=>"http://www.example.com/image.jpg");
$finalArray = $newsArray + $imageArray;
print_r($finalArray);
Hasil berjalan:

Array (
    [title] => 新闻标题
    [content] => 新闻内容
    [url] => http://www.example.com/image.jpg
)
2 kekunci penggabungan tatasusunan PHP kekal tidak berubah

Secara lalai, dua kaedah di atas. merge arrays , nama kunci akan berubah. Tetapi kadangkala, kita perlu melakukan operasi gabungan berdasarkan nama kunci asal. Pada masa ini, anda boleh menggunakan fungsi array_replace(), yang boleh menggantikan nilai dengan nama kunci yang sama dalam tatasusunan sebelumnya dengan nilai tatasusunan kemudian, sambil mengekalkan nama kunci asal. Jika anda perlu menggabungkan berbilang tatasusunan, anda boleh memanggilnya satu demi satu.

    array_replace() function
array_replace() fungsi menggantikan nilai dengan nama kunci yang sama dalam tatasusunan sebelumnya dengan nilai dalam tatasusunan berikut, sambil mengekalkan yang asal nama kunci. Penggunaan khusus adalah seperti berikut:

$array1 = array("name"=>"张三", "age"=>20);
$array2 = array("age"=>25, "email"=>"zhangsan@gmail.com");
$array3 = array_replace($array1, $array2);
print_r($array3);
Hasil berjalan:

Array (
    [name] => 张三
    [age] => 25
    [email] => zhangsan@gmail.com
)
Pada masa ini, nama kunci asal dan susunan tatasusunan $array1 kekal tidak berubah, dan kandungan dalam $ array2 ditimpa ke dalam $array1.

    Menggabungkan berbilang tatasusunan
Jika anda perlu menggabungkan berbilang tatasusunan, anda boleh memanggil fungsi array_replace() dalam turutan, contohnya:

$array1 = array("name"=>"张三", "age"=>20);
$array2 = array("age"=>25, "email"=>"zhangsan@gmail.com");
$array3 = array("city"=>"北京", "gender"=>"男");
$finalArray = array_replace($array1, $array2, $array3);
print_r($finalArray);
Hasil berjalan:

Array (
    [name] => 张三
    [age] => 25
    [email] => zhangsan@gmail.com
    [city] => 北京
    [gender] => 男
)
Pada masa ini, nama utama dan susunan dalam tatasusunan $finalArray adalah sama seperti dalam $array1, manakala nama dan nilai utama dalam tatasusunan $array2 dan $array3 ditimpa menjadi $finalArray.

3. Ringkasan

Secara umumnya, terdapat banyak cara untuk melaksanakan penggabungan tatasusunan dalam PHP, dan anda boleh memilih kaedah yang berbeza mengikut keperluan anda. Apabila perlu untuk melaksanakan operasi gabungan tanpa menukar nama kunci, fungsi array_replace() adalah cara yang sangat mudah untuk melaksanakannya. Menggunakan fungsi ini, anda boleh menggabungkan kandungan satu atau lebih tatasusunan ke dalam tatasusunan pertama sambil mengekalkan susunan nama kunci asal. Pada masa yang sama, anda perlu memberi perhatian apabila menggunakan fungsi ini: tiada had kepada bilangan tatasusunan yang akan digabungkan, tetapi jika nama kunci dalam tatasusunan adalah sama, nilai dalam tatasusunan berikutnya akan ditulis ganti nilai kunci yang sepadan dalam tatasusunan sebelumnya.

Atas ialah kandungan terperinci Bagaimana untuk memastikan kunci tidak berubah apabila menggabungkan tatasusunan 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