Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengira perbezaan tatasusunan menggunakan perbandingan nama utama dalam PHP
Editor PHP Xinyi akan memperkenalkan kepada anda hari ini cara menggunakan perbandingan nama utama untuk mengira set perbezaan tatasusunan. Dalam PHP, kita boleh menggunakan fungsi array_diff_key() untuk mencapai fungsi ini. Fungsi ini menerima dua atau lebih parameter tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi semua elemen dengan nama kunci berbeza dalam tatasusunan. Dengan cara ini kita boleh membandingkan kekunci dua tatasusunan dengan mudah dan mencari perbezaan antara mereka. Mari kita lihat cara menggunakan fungsi array_diff_key() untuk mencapai fungsi ini!
PHP menggunakan perbandingan nama kunci untuk mengira perbezaan tatasusunan
Kata Pengantar
Perbezaan tatasusunan ialah satu-satunya set dua tatasusunan yang terdapat dalam satu tatasusunan tetapi tidak dalam tatasusunan yang lain. Dalam php, perbezaan tatasusunan boleh dikira dengan cekap dengan membandingkan nama utama.
Kaedah
Begini cara mengira perbezaan tatasusunan menggunakan perbandingan nama utama:
Memulakan tatasusunan set perbezaan: Buat tatasusunan baharu $diffArray
untuk menyimpan elemen set perbezaan.
Lelaran pada tatasusunan pertama: gunakan foreach
循环遍历第一个数组 $array1
.
Semak sama ada nama kunci wujud: Untuk setiap nama kunci $key
,检查它是否在第二个数组 $array2
wujud.
Tambah pada set perbezaan: Jika nama kunci tidak wujud dalam $array2
, tambahkan nama kunci dan nilainya pada $array2
中,则将该键名及其值添加到 $diffArray
.
Contoh berikut menunjukkan cara mengira set perbezaan menggunakan perbandingan nama kunci:
<?php // 初始化数组 $array1 = ["a" => 1, "b" => 2, "c" => 3]; $array2 = ["b" => 3, "d" => 4]; // 初始化差集数组 $diffArray = []; // 遍历第一个数组 foreach ($array1 as $key => $value) { // 检查键名是否存在 if (!array_key_exists($key, $array2)) { // 添加到差集中 $diffArray[$key] = $value; } } // 打印差集 print_r($diffArray); ?>
Output:
Array ( [a] => 1 [c] => 3 )
Pertimbangan kecekapan
Menggunakan kaedah perbandingan utama boleh mengira perbezaan tatasusunan dengan cekap kerana ia mengelakkan berulang kali merentasi tatasusunan kedua. Purata kerumitan masa ialah O(n), dengan n ialah bilangan elemen dalam tatasusunan pertama.
Kaedah lain
Selain perbandingan nama utama, terdapat kaedah lain untuk mengira perbezaan tatasusunan, seperti:
array_diff_key()
array_diff_assoc()
Kaedah yang manakah untuk dipilih bergantung pada saiz tatasusunan dan keperluan khusus.
Kesimpulan
Gunakan perbandingan nama utama untuk mengira perbezaan tatasusunan dengan cepat dan cekap. Ini adalah teknik yang digunakan secara meluas kerana ia mudah difahami dan berfungsi dengan baik.
Atas ialah kandungan terperinci Bagaimana untuk mengira perbezaan tatasusunan menggunakan perbandingan nama utama dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!