Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam nilai yang sama dalam tatasusunan dalam PHP

Bagaimana untuk memadam nilai yang sama dalam tatasusunan dalam PHP

PHPz
PHPzasal
2023-04-18 15:22:28501semak imbas

PHP ialah bahasa pengaturcaraan yang popular, dan keupayaan pemprosesan tatasusunannya yang berkuasa adalah salah satu sebab penting mengapa ia sangat dipuji. Dalam pengaturcaraan PHP, kita sering perlu melakukan operasi tatasusunan Salah satu operasi biasa ialah memadam nilai tertentu dalam tatasusunan. Artikel ini akan menerangkan cara memadam nilai yang sama dalam tatasusunan dalam PHP.

Dalam PHP, kita boleh memadamkan pasangan nilai kunci tertentu dalam tatasusunan melalui fungsi unset(). Walau bagaimanapun, jika kita perlu memadamkan berbilang elemen dengan nilai yang sama dalam tatasusunan, kaedah ini menjadi agak rumit. Untuk lebih mudah memadamkan elemen pendua dalam tatasusunan, PHP menyediakan fungsi terbina dalam array_unique().

Fungsi array_unique() adalah untuk mengembalikan tatasusunan baharu yang hanya mengandungi nilai bukan pendua dalam tatasusunan asal. Fungsi ini boleh digunakan melalui kod berikut:

<?php
    $arr = array("PHP", "Java", "Python", "PHP", "C++", "Ruby", "C#");
    $new_arr = array_unique($arr);
    print_r($new_arr);
?>

Keluaran kod di atas ialah:

Array
(
    [0] => PHP
    [1] => Java
    [2] => Python
    [4] => C++
    [5] => Ruby
    [6] => C#
)

Seperti yang anda lihat, kami berjaya memadamkan elemen pendua dalam kod asal tatasusunan.

Walau bagaimanapun, kod di atas hanya menunjukkan cara untuk mengalih keluar nilai pendua melalui fungsi array_unique() Bagaimana jika kita perlu memadamkan elemen pendua secara langsung dalam tatasusunan asal? Pada masa ini, kita boleh menggabungkan fungsi array_unique() dan fungsi array_diff() untuk mencapai operasi pemadaman elemen pendua dalam tatasusunan asal.

Fungsi array_diff() adalah untuk mengembalikan perbezaan antara dua tatasusunan, iaitu, ia mengembalikan nilai yang ada pada tatasusunan 1 tetapi tatasusunan 2 tidak. Kita boleh menggunakan perbezaan ini untuk mengira elemen pendua dalam tatasusunan asal dan memadamnya daripada tatasusunan asal. Idea khusus boleh direalisasikan melalui kod berikut:

<?php
    $arr = array("PHP", "Java", "Python", "PHP", "C++", "Ruby", "C#");
    $unique_arr = array_unique($arr); //去重
    $duplicate_arr = array_diff_assoc($arr, $unique_arr); //计算重复元素
    foreach($duplicate_arr as $key => $val){ //遍历重复元素
        while(($index = array_search($val, $arr)) !== false){ //在原数组中依次查找元素位置
            unset($arr[$index]); //删除元素
        }
    }
    print_r($arr);
?>

Hasil pelaksanaan kod di atas ialah:

Array
(
    [1] => Java
    [2] => Python
    [4] => C++
    [5] => Ruby
    [6] => C#
)

Seperti yang anda lihat, kami berjaya memadamkan elemen pendua dalam tatasusunan asal dan mendapat tatasusunan baharu.

Ringkasnya, kaedah memadam nilai yang sama dalam tatasusunan boleh dicapai dengan menggabungkan fungsi array_unique() dan fungsi array_diff(). Antaranya, fungsi array_unique() digunakan untuk mengalih keluar nilai pendua, dan fungsi array_diff() digunakan untuk mengira elemen pendua. Melalui kaedah di atas, kami boleh melakukan operasi tatasusunan dalam pengaturcaraan PHP dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk memadam nilai yang sama dalam 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