Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar nilai yang berbeza daripada tatasusunan dalam php

Bagaimana untuk mengalih keluar nilai yang berbeza daripada tatasusunan dalam php

PHPz
PHPzasal
2023-04-26 14:20:14584semak imbas

Dalam PHP, selalunya diperlukan untuk mendapatkan nilai yang berbeza daripada tatasusunan, yang sangat biasa dalam senario seperti analisis data dan statistik. Berikut ialah dua kaedah untuk mendapatkan nilai yang berbeza dalam tatasusunan.

Kaedah 1: fungsi array_unique

Fungsi array_unique ialah fungsi dalam PHP yang digunakan untuk mengalih keluar elemen pendua daripada tatasusunan. Nilai pulangan fungsi ini ialah tatasusunan baharu yang mengandungi elemen unik dalam tatasusunan asal.

Kod sampel adalah seperti berikut:

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

Kod di atas akan mengeluarkan tatasusunan [1, 2, 3, 4, 5].

Perlu diambil perhatian bahawa fungsi array_unique memerlukan penukaran jenis untuk elemen dalam tatasusunan. Sebagai contoh, jika tatasusunan mengandungi kedua-dua nilai jenis rentetan dan nilai jenis integer, fungsi array_unique akan menukar nilai jenis integer kepada jenis rentetan dan kemudian melaksanakan operasi penyahduplikasian. Oleh itu, apabila menggunakan fungsi array_unique, anda perlu memberi perhatian kepada jenis data elemen tatasusunan.

Kaedah 2: Gunakan gelung traversal

Selain menggunakan fungsi array_unique, anda juga boleh menggunakan loop traversal untuk mengekstrak nilai yang berbeza dalam tatasusunan. Kaedah khusus ialah menggunakan elemen pertama sebagai penanda aras, dan kemudian gelung melalui tatasusunan asal bermula dari elemen kedua Jika sesuatu elemen didapati sama dengan elemen penanda aras, padamkan elemen daripada tatasusunan, jika tidak tetapkan elemen kepada elemen asas yang baharu. Proses ini berulang sehingga semua elemen dalam tatasusunan asal telah dilalui.

Kod sampel adalah seperti berikut:

<?php
$arr = array(1, 2, 2, 3, 4, 4, 4, 5);
for ($i = 0; $i < count($arr); $i++) {
    for ($j = $i + 1; $j < count($arr); $j++) {
        if ($arr[$i] == $arr[$j]) {
            array_splice($arr, $j, 1);
            $j--;
        }
    }
}
print_r($arr);
?>

Kod di atas akan mengeluarkan tatasusunan [1, 2, 3, 4, 5].

Perlu diambil perhatian bahawa apabila menggunakan traversal gelung, jika tatasusunan agak besar, ia boleh menyebabkan masalah prestasi. Oleh itu, dalam aplikasi praktikal, adalah disyorkan untuk memberi keutamaan untuk menggunakan fungsi array_unique.

Kesimpulan

Ringkasnya, kami telah memperkenalkan dua kaedah untuk mengekstrak nilai berbeza​​​dari tatasusunan PHP. Sama ada anda menggunakan fungsi array_unique atau traversal gelung, anda boleh mencapai kesan yang sama. Untuk tatasusunan berskala kecil, adalah disyorkan untuk menggunakan fungsi array_unique Untuk tatasusunan berskala besar, adalah disyorkan untuk menggunakan lintasan gelung.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai yang berbeza 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