Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan PHP

Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan PHP

PHPz
PHPzasal
2023-04-24 09:12:35438semak imbas

Dalam pengaturcaraan PHP, menggunakan tatasusunan adalah operasi yang sangat biasa. Kadangkala, kita perlu mengekstrak nilai yang berbeza daripada tatasusunan naif. Ini bermakna kita mahu mengalih keluar nilai yang sama dan menyimpan hanya nilai yang berbeza. Dalam artikel ini, kita akan membincangkan cara mengalih keluar nilai pendua daripada tatasusunan PHP.

Dalam PHP, terdapat pelbagai cara untuk menyelesaikan masalah ini. Berikut ialah beberapa kaedah yang mungkin:

Kaedah 1: Gunakan fungsi array_unique()

PHP mempunyai fungsi array_unique() terbina dalam, yang membolehkan kami mengalih keluar elemen pendua daripada tatasusunan. Fungsi ini bukan sahaja mengekalkan nilai yang berbeza, ia juga mengekalkan nilai yang berbeza pertama dan memadamkan yang lain.

Berikut ialah kod sampel menggunakan fungsi array_unique():

$my_array = array("apple", "banana", "cherry", "banana", "date", "apple");
$my_array = array_unique($my_array);

print_r($my_array);

Dalam kod di atas, kami telah mencipta tatasusunan yang mengandungi beberapa nilai yang sama. Tatasusunan diproses menggunakan fungsi array_unique(). Akhir sekali, kami mencetak kandungan tatasusunan menggunakan fungsi print_r PHP.

Laksanakan kod di atas dan anda akan menemui output seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [4] => date
)

Seperti yang anda lihat, fungsi ini berjaya mengalih keluar nilai pendua daripada tatasusunan dan hanya mengekalkan nilai yang berbeza.

Kaedah 2: Gunakan pemprosesan traversal gelung

Dalam kaedah ini, kami menggunakan operasi lintasan gelung untuk mengimbas keseluruhan tatasusunan dan menyemak sama ada elemen diulang dalam setiap gelung. Jika elemen sudah wujud dalam tatasusunan baharu, elemen itu dilangkau, dan jika ia tidak wujud, ia ditambahkan pada tatasusunan.

Berikut ialah contoh kod yang menggunakan operasi traversal untuk mengalih keluar elemen pendua:

$my_array = array("apple", "banana", "cherry", "banana", "date", "apple");
$new_array = array();

foreach ($my_array as $value) {
    if (!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}

print_r($new_array);

Dalam kod di atas, kami melakukan perkara berikut:

  • Mencipta tatasusunan primitif.
  • Mencipta tatasusunan kosong baharu.
  • Dalam gelung foreach, kami mengulangi tatasusunan asal dan menyemak sama ada elemen itu sudah ada dalam tatasusunan baharu menggunakan fungsi in_array().
  • Jika elemen tidak wujud dalam tatasusunan baharu, tambahkannya pada tatasusunan.

Laksanakan kod di atas, anda akan mendapati bahawa hasil output adalah sama seperti menggunakan fungsi array_unique().

Kaedah 3: Gunakan fungsi array_diff()

Kita juga boleh menggunakan fungsi array_diff() untuk memadamkan elemen pendua. Fungsi ini boleh membandingkan dua atau lebih tatasusunan dan hanya mengembalikan nilai yang berbeza.

Berikut ialah kod sampel untuk mengalih keluar elemen pendua menggunakan fungsi array_diff():

$my_array = array("apple", "banana", "cherry", "banana", "date", "apple");
$my_array = array_diff($my_array, array(''));

print_r($my_array);

Dalam kod di atas, kami telah menggunakan fungsi array_diff() dan tatasusunan kosong. Hanya digunakan untuk membandingkan elemen dalam tatasusunan asal. Fungsi ini akan mengembalikan nilai yang berbeza daripada tatasusunan asal dan menyimpannya dalam tatasusunan baharu.

Laksanakan kod di atas, anda akan mendapati bahawa hasil output adalah sama seperti menggunakan fungsi array_unique().

Kesimpulan

Melalui artikel ini, kami mempelajari cara yang berbeza untuk mengalih keluar elemen pendua daripada tatasusunan dalam PHP. Walaupun terdapat perbezaan antara kaedah ini, mereka semua berjaya mengalih keluar nilai pendua daripada tatasusunan dan hanya menyimpan nilai yang berbeza. Ini akan membantu kami menjadikan kod kami lebih cekap dan mengurangkan kemungkinan ralat masa jalan.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan 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