Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu dalam PHP?

Bagaimana untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu dalam PHP?

WBOY
Lepaskan: 2024-04-28 18:18:01
asal
744 orang telah melayarinya

Dalam PHP, gunakan fungsi array_unique() untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu. Apabila memanggil fungsi, masukkan tatasusunan sebagai parameter dan pilih kaedah pengisihan sebagai parameter kedua. Fungsi ini mengembalikan tatasusunan baharu yang pendua telah dialih keluar berdasarkan pasangan nilai kunci yang ditentukan.

如何在 PHP 中根据特定键值对去除数组中的重复项?

Cara mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu dalam PHP

Dalam PHP, gunakan fungsi array_unique() untuk mengalih keluar pendua daripada tatasusunan berdasarkan tertentu pasangan nilai kunci Pendua. Fungsi ini menerima tatasusunan sebagai hujah dan mengembalikan tatasusunan baharu yang pendua telah dialih keluar berdasarkan pasangan nilai kunci yang ditentukan. array_unique() 函数可以根据特定键值对去除数组中的重复项。该函数接收一个数组作为参数,并返回一个新数组,其中重复项已根据指定的键值对被移除。

用法:

$array = [
    ['name' => 'John', 'age' => 30],
    ['name' => 'Mary', 'age' => 25],
    ['name' => 'John', 'age' => 30],
    ['name' => 'Bob', 'age' => 20],
];

$uniqueArray = array_unique($array, SORT_REGULAR);

print_r($uniqueArray);
Salin selepas log masuk

输出:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 30
        )

    [1] => Array
        (
            [name] => Mary
            [age] => 25
        )

    [2] => Array
        (
            [name] => Bob
            [age] => 20
        )
)
Salin selepas log masuk

如上所示,array_unique() 根据键值对 ['name', 'age'] 去除了数组中的重复项。

可选参数:

array_unique() 函数的第二个参数指定如何比较数组元素,有以下选项:

  • SORT_REGULAR: 正常比较元素
  • SORT_NUMERIC: 比较元素作为数字
  • SORT_STRING: 比较元素作为字符串
  • SORT_LOCALE_STRING: 以特定区域设置比较元素作为字符串

实战案例:

假设你有以下数组,其中包含来自不同订单的订单项:

$orders = [
    ['id' => 1, 'item_id' => 1, 'quantity' => 2],
    ['id' => 2, 'item_id' => 2, 'quantity' => 1],
    ['id' => 3, 'item_id' => 1, 'quantity' => 3],
];
Salin selepas log masuk

你可以使用以下代码根据订单项ID (item_id) 和数量 (quantity) 去除重复项:

$uniqueOrders = array_unique($orders, SORT_REGULAR);
Salin selepas log masuk

这将创建一个新数组 $uniqueOrders,其中每个订单项的 item_idquantity

🎜Penggunaan: 🎜🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜Seperti yang ditunjukkan di atas, array_unique() adalah berdasarkan pada pasangan nilai kunci ['name', 'age'] Mengalih keluar pendua daripada tatasusunan. 🎜🎜🎜Parameter pilihan: 🎜🎜🎜array_unique() Parameter kedua fungsi menentukan cara membandingkan elemen tatasusunan Terdapat pilihan berikut: 🎜
  • 🎜SORT_REGULAR: 🎜 Normal. perbandingan elemen
  • 🎜SORT_NUMERIC: 🎜 Bandingkan elemen sebagai nombor
  • 🎜SORT_STRING: 🎜 Bandingkan elemen sebagai rentetan
  • 🎜SORT_LOCALE_STRING: 🎜 Bandingkan elemen sebagai aksara dalam String setempat tertentu
🎜🎜Contoh praktikal: 🎜🎜🎜Andaikan anda mempunyai tatasusunan berikut, yang mengandungi item baris daripada susunan yang berbeza: 🎜rrreee🎜 Anda boleh menggunakan kod berikut untuk mengisih susunan berdasarkan pesanan ID item (item_id) dan kuantiti (<kod>kuantiti</kod>) untuk mengalih keluar pendua: 🎜rrreee🎜Ini akan mencipta tatasusunan baharu $uniqueOrders dengan item_id dan quantity adalah unik. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan