Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan elemen dua tatasusunan yang diduplikasi dalam php
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('apple', 'banana', 'orange', 'grape'); $array2 = array('banana', 'watermelon', 'grape', 'melon'); $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!