Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menendang keluar nilai pendua daripada tatasusunan dalam php

Bagaimana untuk menendang keluar nilai pendua daripada tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 14:14:35766semak imbas

Semasa proses pembangunan, pemprosesan tatasusunan sering terlibat, dan masalah menangani nilai pendua adalah perkara biasa. Contohnya, dalam troli beli-belah, apabila pengguna menambah produk yang sama, mereka perlu menentukan sama ada produk itu sudah wujud untuk mengelakkan penambahan berulang. Dalam senario ini, kami memerlukan cara untuk mengalih keluar nilai pendua dan memastikan ketepatan data. Sebagai bahasa skrip sebelah pelayan yang biasa digunakan, PHP menyediakan pelbagai fungsi dan kaedah untuk memproses tatasusunan Artikel ini akan memperkenalkan kaedah menggunakan PHP untuk mengeluarkan nilai pendua daripada tatasusunan.

1. Gunakan fungsi array_unique()

array_unique() ialah fungsi terbina dalam PHP yang boleh digunakan untuk mengalih keluar nilai pendua daripada tatasusunan. Format sintaks fungsi ini adalah seperti berikut:

array_unique($array, $sort_flags = SORT_STRING)

Antaranya, $array mewakili tatasusunan untuk mengalih keluar nilai pendua, dan $sort_flags mewakili bendera isihan pilihan. Jika $sort_flags tidak dinyatakan atau SORT_STRING, semua data pendua dalam tatasusunan akan dialih keluar dan kunci asal tatasusunan akan dikekalkan. Jika $sort_flags ialah SORT_NUMERIC, nilai dalam tatasusunan akan ditukar kepada nilai berangka untuk perbandingan dan kunci asal tidak akan dikekalkan. Berikut ialah contoh kod untuk fungsi ini:

<?php
$a = array(1,2,3,1,2,4,5);
$b = array_unique($a);
print_r($b);
?>

Hasil kod ini ialah:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [5] => 4
    [6] => 5
)

Seperti yang anda lihat, nilai pendua dalam tatasusunan boleh dilakukan dengan mudah dialih keluar menggunakan fungsi array_unique(). Walau bagaimanapun, fungsi ini akan mengekalkan nilai kunci asal tatasusunan Jika anda perlu menyusun semula indeks tatasusunan, anda boleh menggunakan fungsi array_values().

2. Gunakan kaedah traversal gelung

Selain menggunakan fungsi terbina dalam yang disediakan oleh PHP, kita juga boleh menggunakan kaedah traversal gelung untuk menentukan sama ada elemen dalam tatasusunan sudah wujud satu demi satu, dan keluarkan yang tidak wujud. Elemen ditambah pada tatasusunan baharu. Idea utama kaedah ini adalah menggunakan gelung foreach untuk melintasi tatasusunan asal, dan terus melangkau nilai pendua jika ia ditemui, jika tidak, tambahkannya pada tatasusunan baharu. Kodnya adalah seperti berikut:

<?php
$a = array(1,2,3,1,2,4,5);
$b = array();
foreach($a as $key => $value){
    if(!in_array($value, $b)) {  //判断新数组中是否已经存在该元素
        $b[$key] = $value; //如果不存在,将其添加到新数组中
    }
}
print_r($b);
?>

Hasil kod ini adalah sama seperti kod sampel fungsi array_unique() di atas:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Ia boleh dilihat bahawa menggunakan kaedah traversal gelung juga boleh mengalih keluar pendua dalam nilai tatasusunan, dan juga mengekalkan nilai kunci asal.

3. Gunakan fungsi array_flip()

Selain daripada dua kaedah di atas, kita juga boleh menggunakan fungsi array_flip() untuk mengalih keluar nilai pendua dalam tatasusunan. Fungsi ini menukar kunci dan nilai tatasusunan dan secara automatik mengalih keluar nilai pendua. Akhir sekali, hanya tukar kunci dan nilai tatasusunan kembali. Kodnya adalah seperti berikut:

<?php
$a = array(1,2,3,1,2,4,5);
$a = array_flip($a);   //翻转数组的键和值
$a = array_flip($a);   //再次翻转数组的键和值
print_r($a);
?>

Hasil kod ini juga sama seperti dua kod sampel sebelumnya:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [6] => 5
)

Ia boleh dilihat bahawa menggunakan array_flip() fungsi juga boleh mengalih keluar nilai pendua dalam tatasusunan, dan juga mengekalkan nilai kunci asal.

Ringkasan

Artikel ini memperkenalkan tiga kaedah menggunakan PHP untuk menendang keluar nilai pendua daripada tatasusunan: menggunakan fungsi array_unique(), kaedah traversal gelung dan menggunakan fungsi array_flip(). Kaedah ini boleh mengalih keluar nilai pendua dalam tatasusunan dengan berkesan dan mengekalkan nilai kunci asal. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai untuk memproses nilai berulang dalam tatasusunan mengikut keperluan kita sendiri, untuk mencapai tujuan pemprosesan data.

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