Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengira perbezaan tatasusunan menggunakan perbandingan nama utama dalam PHP

Bagaimana untuk mengira perbezaan tatasusunan menggunakan perbandingan nama utama dalam PHP

WBOY
WBOYke hadapan
2024-03-19 12:43:27913semak imbas

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:

  1. Memulakan tatasusunan set perbezaan: Buat tatasusunan baharu $diffArray untuk menyimpan elemen set perbezaan.

  2. Lelaran pada tatasusunan pertama: gunakan foreach 循环遍历第一个数组 $array1.

  3. Semak sama ada nama kunci wujud: Untuk setiap nama kunci $key,检查它是否在第二个数组 $array2 wujud.

  4. 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:

  • Gunakan fungsi array_diff_key()
  • Gunakan fungsi array_diff_assoc()
  • Melintasi dan membandingkan nama dan nilai utama secara manual

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam