Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada elemen yang sama wujud dalam dua tatasusunan dalam php

Bagaimana untuk menentukan sama ada elemen yang sama wujud dalam dua tatasusunan dalam php

PHPz
PHPzasal
2023-04-25 18:28:20462semak imbas

Dalam pembangunan PHP, selalunya diperlukan untuk mengendalikan dan memproses tatasusunan. Salah satu soalan biasa ialah bagaimana untuk menentukan sama ada terdapat elemen yang sama dalam dua tatasusunan atau sama ada unsur wujud dalam tatasusunan. Artikel ini akan memperkenalkan masalah ketiadaan dua set tatasusunan, termasuk definisi, penyelesaian dan langkah pelaksanaan.

1. Definisi Masalah

Andaikan terdapat dua set tatasusunan, $arr1 dan $arr2, kedua-duanya terdiri daripada beberapa elemen. Sekarang kita perlu menentukan sama ada terdapat elemen dalam $arr1 yang tidak wujud dalam $arr2, iaitu elemen yang wujud dalam $arr1 tetapi tidak dalam $arr2, dan mengeluarkan elemen ini.

2. Penyelesaian Masalah

Untuk menyelesaikan masalah ini, dua kaedah boleh digunakan iaitu loop traversal dan array_diff function.

  1. Kaedah traversal gelung

Ini adalah kaedah yang agak asas dan tradisional, iaitu menggunakan gelung seperti for atau foreach untuk melintasi tatasusunan $arr1 dan meletakkannya dalam $arr2 Elemen yang tidak wujud dalam tatasusunan ditambah pada tatasusunan baharu.

Kod contoh:

$diff_arr = array(); // 用于保存不同的元素
foreach ($arr1 as $val) {
    if (!in_array($val, $arr2)) { // 判断元素是否存在于 $arr2 中
        $diff_arr[] = $val; // 添加到 $diff_arr 数组中
    }
}
print_r($diff_arr); // 打印输出不同的元素
  1. kaedah fungsi array_diff

PHP menyediakan fungsi array_diff yang digunakan khusus untuk membandingkan perbezaan antara dua tatasusunan Boleh digunakan untuk membandingkan elemen dalam dua tatasusunan yang wujud dalam satu tatasusunan tetapi tidak dalam tatasusunan yang lain.

Kod contoh:

$diff_arr = array_diff($arr1, $arr2); // 用 array_diff 函数比较差异
print_r($diff_arr); // 打印输出不同的元素

3. Langkah-langkah pelaksanaan

Gunakan dua kaedah di atas untuk melaksanakan masalah ini adalah seperti berikut:

  1. Cipta dua tatasusunan $arr1 dan $arr2.
  2. Gunakan kaedah traversal gelung for atau foreach untuk melintasi tatasusunan $arr1 Jika elemen semasa tidak wujud dalam $arr2, tambahkannya pada tatasusunan $diff_arr.
$diff_arr = array();
foreach ($arr1 as $val) {
    if (!in_array($val, $arr2)) { // 判断元素是否存在于 $arr2 中
        $diff_arr[] = $val; // 添加到 $diff_arr 数组中
    }
}
  1. Gunakan kaedah fungsi array_diff untuk membandingkan terus perbezaan antara $arr1 dan $arr2, dan simpan hasilnya sebagai tatasusunan $diff_arr.
$diff_arr = array_diff($arr1, $arr2); // 用 array_diff 函数比较差异
  1. Output elemen dalam tatasusunan $diff_arr.
print_r($diff_arr);

4 Ringkasan

Artikel ini memperkenalkan masalah mencari bahawa dua set tatasusunan tidak wujud dalam PHP dan menyediakan dua penyelesaian. Tidak kira kaedah yang dipilih, perhatian mesti diberikan untuk memastikan ketekalan jenis data dalam tatasusunan untuk mengelakkan pengecualian program. Kedua-dua kaedah mempunyai kelebihan dan kekurangannya sendiri, dan pilihannya perlu berdasarkan senario sebenar. Ini membolehkan pembangun melengkapkan perbandingan tatasusunan dengan cepat dan mengeluarkan hasilnya.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada elemen yang sama wujud dalam dua tatasusunan 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