Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan elemen dua tatasusunan yang diduplikasi dalam php

Bagaimana untuk menentukan elemen dua tatasusunan yang diduplikasi dalam php

PHPz
PHPzasal
2023-04-18 14:07:00566semak imbas

Dalam pembangunan PHP, adalah keperluan biasa untuk menentukan sama ada terdapat unsur pendua dalam tatasusunan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menentukan elemen yang diduplikasi dalam dua tatasusunan.

Pertama, kita perlu memahami struktur dua tatasusunan. Tatasusunan dalam PHP ialah jenis data komposit tersusun yang terdiri daripada satu atau lebih pasangan nilai kunci. Hubungan kunci-nilai boleh menjadi sebarang jenis pembolehubah, termasuk nombor dan rentetan.

Sebagai contoh, berikut ialah dua tatasusunan mudah:

$array1 = array('apple', 'banana', 'orange', 'grape');
$array2 = array('banana', 'watermelon', 'grape', 'melon');

Seterusnya, kita perlu mengulangi kedua-dua tatasusunan ini secara berasingan dan menyimpan elemennya ke dalam tatasusunan baharu. Kita boleh mencapai ini menggunakan fungsi array_intersect PHP. Fungsi

$common_elements = array_intersect($array1, $array2);

array_intersect mengembalikan persilangan dua tatasusunan, iaitu elemen yang wujud dalam kedua-dua tatasusunan. Dalam contoh ini, tatasusunan $common_elements akan mengandungi dua elemen 'pisang' dan 'anggur'.

Kini, kami telah mendapat elemen pendua dalam kedua-dua tatasusunan. Walau bagaimanapun, kita juga mungkin perlu mengetahui kedudukan mereka dalam tatasusunan asal.

Untuk menyelesaikan masalah ini, kita boleh menggunakan fungsi array_unique PHP untuk mengekstrak elemen unik dalam tatasusunan, dan menggunakan fungsi array_diff untuk mengetahui elemen unik yang tidak wujud dalam tatasusunan asal. Unsur-unsur ini adalah hasil yang kita inginkan.

$unique_elements = array_unique(array_merge($array1, $array2));
$duplicate_elements = array_diff(array_merge($array1, $array2), $unique_elements);

Dalam kod ini, kami mula-mula menggabungkan dua tatasusunan dan menapis elemen unik menggunakan fungsi array_unique. Kami kemudian menggunakan fungsi array_diff untuk mencari perbezaan antara tatasusunan asal dan tatasusunan elemen unik, iaitu tatasusunan unsur pendua.

Akhir sekali, kita perlu mencetak tatasusunan ini, anda boleh menggunakan kod berikut:

echo "Array1: ";
print_r($array1);

echo "Array2: ";
print_r($array2);

echo "Common Elements: ";
print_r($common_elements);

echo "Duplicate Elements: ";
print_r($duplicate_elements);

Kod PHP lengkap adalah seperti berikut:

<?php

$array1 = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;grape&#39;);
$array2 = array(&#39;banana&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;melon&#39;);

$common_elements = array_intersect($array1, $array2);

$unique_elements = array_unique(array_merge($array1, $array2));
$duplicate_elements = array_diff(array_merge($array1, $array2), $unique_elements);

echo "Array1: ";
print_r($array1);

echo "Array2: ";
print_r($array2);

echo "Common Elements: ";
print_r($common_elements);

echo "Duplicate Elements: ";
print_r($duplicate_elements);

?>

Output kod ini Keputusan adalah seperti berikut:

Array1: Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
Array2: Array
(
    [0] => banana
    [1] => watermelon
    [2] => grape
    [3] => melon
)
Common Elements: Array
(
    [1] => banana
    [3] => grape
)
Duplicate Elements: Array
(
    [0] => banana
    [1] => grape
)

Seperti yang anda boleh lihat daripada output, kami telah berjaya menemui elemen pendua dalam kedua-dua tatasusunan.

Ringkasnya, artikel ini memperkenalkan cara menggunakan PHP untuk menentukan elemen mana yang diduplikasi dalam dua tatasusunan. Kita boleh melaksanakan fungsi ini dengan mudah menggunakan fungsi array_intersect dan array_diff terbina dalam PHP. Pada masa yang sama, kita juga boleh menggunakan fungsi array_unique untuk mengekstrak satu-satunya elemen dalam tatasusunan dan membandingkannya dengan tatasusunan asal untuk mencari kedudukan elemen berulang dalam tatasusunan asal.

Atas ialah kandungan terperinci Bagaimana untuk menentukan elemen dua tatasusunan yang diduplikasi 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