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-23 19:29:57712semak imbas

Apabila membangunkan aplikasi web, kita perlu menggunakan tatasusunan untuk menyimpan dan mengurus data. Walau bagaimanapun, kadangkala kami menghadapi masalah apabila data pendua muncul dalam tatasusunan. Ini bukan sahaja menjejaskan prestasi program, tetapi juga ketepatan data. Oleh itu, dalam artikel ini, kami akan memperkenalkan cara untuk menyingkirkan data pendua dalam tatasusunan PHP supaya kami boleh mengurus dan memanipulasi data dengan lebih baik.

1. Gunakan fungsi terbina dalam PHP untuk mengalih keluar elemen pendua

PHP menyediakan beberapa fungsi terbina dalam yang boleh membantu kami mengalih keluar elemen pendua dengan cepat. Antaranya, fungsi yang paling biasa digunakan ialah array_unique(). Ia mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu. Tatasusunan ini mengekalkan kunci daripada tatasusunan asal dan menetapkan semula indeks tatasusunan baharu.

$fruits = array("epal", "pisang", "oren", "epal");
$unique_fruits = array_unique($fruits);

print_r($unique_fruits);
?>

// Hasil keluaran:
// Array
// (
// [0] => epal
// [1] => pisang
// [2] => oren
// )

Kod di atas akan mengeluarkan tatasusunan baharu yang tidak mengandungi unsur pendua.

Selain fungsi array_unique(), PHP juga menyediakan beberapa fungsi lain, seperti array_diff(), array_intersect(), dll. Fungsi ini juga boleh mengalih keluar elemen pendua semasa mengendalikan tatasusunan. Untuk penggunaan khusus fungsi ini, sila lihat dokumentasi PHP rasmi.

2 Alih keluar elemen pendua secara manual daripada tatasusunan PHP

Selain menggunakan fungsi terbina dalam, kami juga boleh mengalih keluar elemen pendua daripada tatasusunan secara manual. Walaupun kaedah ini lebih kompleks, ia lebih fleksibel dan boleh menjadi lebih berguna dalam situasi tertentu.

Mula-mula, kita perlu melintasi keseluruhan tatasusunan, dan kemudian menggunakan tatasusunan baharu untuk menyimpan data yang dinyahduplikasi.

$fruits = array("epal", "pisang", "oren", "epal");
$unique_fruits = array();

foreach($buah sebagai $buah){

if(!in_array($fruit, $unique_fruits)) {
    $unique_fruits[] = $fruit;
}

}

print_r($unique_fruits);
?>

// Hasil output:
// Susunan
// (
// [0] => epal
// [1] => pisang
// [2] => oren
// )

Dalam kod di atas, kami menggunakan gelung foreach untuk melintasi tatasusunan $fruits, dan kemudian menggunakan fungsi in_array() untuk menentukan sama ada elemen yang dilalui pada masa ini sudah wujud dalam tatasusunan $unique_fruits. Jika ia tidak wujud, tambahkannya pada tatasusunan $unique_fruits.

Selain menggunakan fungsi in_array(), kita juga boleh menggunakan fungsi array_search() untuk mencari sama ada elemen muncul dalam tatasusunan.

$fruits = array("epal", "pisang", "oren", "epal");
$unique_fruits = array();

foreach($buah sebagai $buah){

if(array_search($fruit, $unique_fruits) === false) {
    $unique_fruits[] = $fruit;
}

}

print_r($unique_fruits);
?>

// Hasil output:
// Susunan
// (
// [0] => epal
// [1] => pisang
// [2] => oren
// )

Kedua-duanya digunakan untuk mencari sama ada elemen muncul dalam tatasusunan. Walau bagaimanapun, nilai pulangan mereka berbeza. array_search() mengembalikan nama kunci elemen dalam tatasusunan, manakala in_array() hanya mengembalikan nilai Boolean.

Secara keseluruhan, mengalih keluar elemen pendua secara manual daripada tatasusunan PHP memerlukan lebih banyak kod dan penjagaan. Walau bagaimanapun, kaedah ini lebih fleksibel dan boleh disesuaikan mengikut keperluan khusus kami.

3. Beberapa kaedah lain

Selain kaedah yang diperkenalkan di atas, terdapat kaedah lain yang boleh membantu kami mengalih keluar elemen pendua daripada tatasusunan PHP.

Sebagai contoh, kita boleh menggunakan fungsi array_flip() untuk menukar kunci dan nilai, supaya kita boleh memanfaatkan keunikan nama kunci tatasusunan PHP untuk mengalih keluar elemen pendua dalam tatasusunan.

$buah = array("epal", "pisang", "oren", "epal");
$unik_buah = array_flip($buah);
$unique_fruits = array_flip($unique_fruits);

print_r($unique_fruits);
?>

// Hasil output:
// Array
// (
// [epal] => 1
// [pisang] => 2
// [oren] => 3
// )

Di atas kod tersebut, kita mula-mula menukar kunci dan nilai elemen dalam tatasusunan $fruits melalui fungsi array_flip() untuk menjana tatasusunan baru $unique_fruits. Kemudian, kami menggunakan fungsi array_flip() sekali lagi untuk menukar kunci dan nilai sekali lagi, dan mendapatkan tatasusunan baharu yang tidak mengandungi unsur pendua.

Selain itu, anda juga boleh menggunakan fungsi array_values() untuk mengindeks semula nilai dalam tatasusunan dan mengalih keluar nama kunci.

$buah = array("epal", "pisang", "oren", "epal");
$unik_buah = array_nilai(array_unique($buah));

print_r($unique_fruits);
?>

// Hasil output:
// Array
// (
// [0] = > epal
// [1] => pisang
// [2] =>

Dalam kod di atas, kita mula-mula menggunakan fungsi array_unique() untuk mengalih keluar elemen pendua dalam tatasusunan, dan kemudian gunakan fungsi array_values() untuk mengindeks semula nilai dalam tatasusunan untuk menghasilkan tatasusunan baharu.

4. Ringkasan

Apabila membangunkan aplikasi web, kita selalunya perlu berurusan dengan data pendua. Untuk memastikan prestasi program dan ketepatan data, kami perlu mengalih keluar elemen pendua daripada tatasusunan.

PHP menyediakan banyak fungsi terbina dalam dan kaedah pemprosesan manual yang boleh membantu kami mengalih keluar elemen pendua dalam tatasusunan PHP. Kami boleh memilih kaedah yang paling sesuai dengan kami berdasarkan keperluan khusus dan saiz kod kami. Tidak kira kaedah yang digunakan, anda perlu memberi perhatian kepada kebolehbacaan kod dan isu prestasi.

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