Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menanyakan elemen dalam tatasusunan yang sama menggunakan PHP
PHP ialah bahasa skrip bahagian pelayan berorientasikan objek, yang sangat sesuai untuk membangunkan aplikasi web sebelah pelayan. Tatasusunan ialah jenis data yang sangat penting dalam PHP yang membolehkan berbilang nilai dikumpulkan bersama dan dirujuk serta dimanipulasi sebagai pembolehubah tunggal. Dalam proses menggunakan tatasusunan, kami sering menghadapi situasi di mana kami perlu menanyakan elemen dalam tatasusunan yang sama.
1. Gunakan gelung traversal untuk membuat pertanyaan
PHP menyediakan pelbagai pernyataan gelung yang boleh digunakan untuk melintasi elemen dalam tatasusunan dan melaksanakan operasi pertanyaan. Di sini kami memperkenalkan dua pernyataan gelung yang biasa digunakan:
1.1 untuk gelung
Gelung for ialah pernyataan gelung yang biasa digunakan yang boleh digunakan untuk melintasi elemen dalam tatasusunan. Berikut ialah kod sampel yang menggunakan gelung for untuk menanyakan elemen dalam tatasusunan yang sama:
<?php $array = array(1, 2, 3, 4, 1, 3); $len = count($array); for ($i = 0; $i < $len; $i++) { for ($j = $i + 1; $j < $len; $j++) { if ($array[$i] == $array[$j]) { echo "相同的元素为:".$array[$i]."<br />"; } } } ?>
Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan $array
yang mengandungi elemen berulang, dan kemudian gunakan untuk gelung untuk merentasi tatasusunan semua elemen, untuk setiap elemen kita sekali lagi menggunakan gelung for untuk mencari elemen yang sama dengannya. Jika elemen yang sama ditemui, elemen tersebut adalah output.
1.2 gelung foreach
Gelung foreach juga merupakan pernyataan gelung yang biasa digunakan, yang boleh digunakan untuk melintasi elemen dalam tatasusunan dan melaksanakan operasi pertanyaan. Berikut ialah kod sampel yang menggunakan gelung foreach untuk menanyakan elemen dalam tatasusunan yang sama:
<?php $array = array(1, 2, 3, 4, 1, 3); $count = array_count_values($array); foreach ($count as $key => $value) { if ($value > 1) { echo "相同的元素为:".$key."<br />"; } } ?>
Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan yang mengandungi elemen berulang $array
, dan kemudian gunakan PHP fungsi terbina dalam array_count_values
Kira bilangan kejadian setiap elemen dalam tatasusunan dan simpan keputusan statistik dalam tatasusunan bersekutu $count
. Akhir sekali, kami menggunakan gelung foreach untuk melintasi tatasusunan $count
dan menentukan sama ada bilangan kejadian lebih besar daripada 1. Jika lebih besar daripada 1, elemen akan dikeluarkan.
2. Gunakan fungsi terbina dalam PHP untuk membuat pertanyaan
Dalam PHP, terdapat berbilang fungsi terbina dalam yang boleh digunakan untuk menanyakan elemen dalam tatasusunan yang sama di bawah kami memperkenalkan dua yang biasa digunakan fungsi:
2.1 array_count_values
Array_count_values Fungsi boleh digunakan untuk mengira bilangan kejadian setiap elemen dalam tatasusunan dan menyimpan keputusan statistik dalam tatasusunan bersekutu. Berikut ialah kod sampel yang menggunakan fungsi array_count_values untuk menanyakan elemen dalam tatasusunan yang sama:
<?php $array = array(1, 2, 3, 4, 1, 3); $count = array_count_values($array); foreach ($count as $key => $value) { if ($value > 1) { echo "相同的元素为:".$key."<br />"; } } ?>
Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan $array
yang mengandungi elemen berulang, dan kemudian gunakan fungsi terbina dalam PHP array_count_values
Kira bilangan kejadian setiap elemen dalam tatasusunan dan simpan keputusan statistik dalam tatasusunan bersekutu $count
. Akhir sekali, kami menggunakan gelung foreach untuk melintasi tatasusunan $count
dan menentukan sama ada bilangan kejadian lebih besar daripada 1. Jika lebih besar daripada 1, elemen akan dikeluarkan.
2.2 array_unique, array_diff_assoc dan array_diff_key
Fungsi array_unique boleh digunakan untuk mengalih keluar elemen pendua dalam tatasusunan dan mengembalikan tatasusunan selepas mengalih keluar elemen pendua. Fungsi array_diff_assoc dan array_diff_key boleh digunakan untuk membandingkan perbezaan antara dua tatasusunan dan mengembalikan elemen yang berbeza. Dengan menggunakan fungsi ini, kita juga boleh menanyakan elemen dalam tatasusunan yang sama Berikut ialah kod sampel:
<?php $array = array(1, 2, 3, 4, 1, 3); $unique = array_unique($array); $diff = array_diff_assoc($array, $unique); foreach ($diff as $key => $value) { echo "相同的元素为:".$value."<br />"; } ?>
Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan $array
yang mengandungi elemen berulang kemudian gunakan fungsi array_unique untuk mengalih keluar elemen pendua daripada tatasusunan dan menyimpan hasilnya dalam pembolehubah $unique
. Kemudian kami menggunakan fungsi array_diff_assoc untuk membandingkan perbezaan antara dua tatasusunan dan menyimpan elemen yang berbeza ke dalam pembolehubah $diff
. Akhirnya kami menggunakan foreach untuk menggelungkan melalui tatasusunan $diff
dan mengeluarkan elemen yang sama.
Ringkasan
Di atas ialah cara menanyakan elemen dalam tatasusunan yang sama dalam PHP Kita boleh melaksanakan fungsi ini dengan mudah dengan menggunakan penyataan gelung, fungsi terbina dalam dan kaedah lain. Dalam pembangunan sebenar, anda boleh memilih kaedah yang sesuai dengan anda untuk operasi pertanyaan. Pada masa yang sama, perlu diingatkan bahawa elemen berulang mungkin mempunyai kesan ke atas prestasi program, jadi dalam pembangunan sebenar, anda harus cuba mengelakkan elemen berulang dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan elemen dalam tatasusunan yang sama menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!