Rumah >pembangunan bahagian belakang >tutorial php >Fungsi kumpulan kunci tatasusunan PHP dan panduan aplikasi

Fungsi kumpulan kunci tatasusunan PHP dan panduan aplikasi

WBOY
WBOYasal
2024-04-30 10:36:011049semak imbas

Fungsi pengumpulan kunci tatasusunan PHP boleh mengelaskan kunci tatasusunan mengikut peraturan yang ditetapkan untuk pengagregatan, penapisan dan transformasi data. Fungsi terbina dalam termasuk array_column(), array_combine(), dan array_group_by(). Contohnya, anda boleh menyusun dan memproses data tatasusunan dengan cekap dengan mengumpulkan pesanan mengikut ID pengguna atau menapis kunci mengikut akhiran.

PHP 数组按键分组的函数和应用指南

Panduan Aplikasi dan Fungsi Pengumpulan Kunci Tatasusunan PHP

Pengumpulan Kunci Tatasusunan ialah ciri berkuasa dalam PHP yang membolehkan anda mengumpulkan kunci tatasusunan mengikut peraturan tersuai. Ini sangat berguna dalam banyak senario dunia nyata, seperti:

  • Pengagregatan Data: Agregat data dalam tatasusunan bersama-sama berdasarkan kekunci yang sama.
  • Penapisan Data: Tapis data dengan kunci khusus dalam tatasusunan berdasarkan syarat.
  • Transformasi data: Kumpulkan semula kunci tatasusunan ke dalam pasangan nilai kunci yang lain.

Fungsi kumpulan terbina dalam

PHP menyediakan fungsi terbina dalam berikut untuk melaksanakan pengumpulan kunci tatasusunan:

  • array_column(): Ekstrak data lajur (kunci) yang ditentukan. array_column():提取指定列(按键)的数据。
  • array_combine():将两个数组的键值对合并成一个新数组。
  • array_group_by():将数组按给定的键分组(PHP 8.1 引入)。

实战案例

案例 1:按照用户 ID 分组订单

$orders = [
    ['user_id' => 1, 'product_id' => 1, 'quantity' => 2],
    ['user_id' => 1, 'product_id' => 2, 'quantity' => 3],
    ['user_id' => 2, 'product_id' => 3, 'quantity' => 1],
];

$groupedOrders = array_group_by($orders, 'user_id');

执行后,$groupedOrders 将是一个多维数组,其中每个元素都是一个包含相同用户 ID 的订单数组:

[
    1 => [
        ['user_id' => 1, 'product_id' => 1, 'quantity' => 2],
        ['user_id' => 1, 'product_id' => 2, 'quantity' => 3],
    ],
    2 => [
        ['user_id' => 2, 'product_id' => 3, 'quantity' => 1],
    ],
]

案例 2:过滤具有特定后缀的密钥

$settings = [
    'site.title' => 'My Site',
    'site.description' => 'A great website',
    'user.name' => 'John Doe',
];

$filteredSettings = array_filter($settings, function($key) {
    return strpos($key, '.site') !== false;
});

执行后,$filteredSettings 将包含仅带有.site

array_combine(): Gabungkan pasangan nilai kunci dua tatasusunan ke dalam tatasusunan baharu.

array_group_by(): Himpunkan tatasusunan mengikut kekunci yang diberikan (diperkenalkan dalam PHP 8.1).

🎜Kes praktikal🎜🎜🎜Kes 1: Kumpulan pesanan mengikut ID pengguna🎜🎜
[
    'site.title' => 'My Site',
    'site.description' => 'A great website',
]
🎜Selepas pelaksanaan, $groupedOrders akan menjadi tatasusunan berbilang dimensi, di mana setiap elemen adalah tatasusunan yang mengandungi pengguna yang sama Tatasusunan Pesanan ID: 🎜rrreee🎜🎜Kes 2: Tapis kekunci dengan akhiran tertentu 🎜🎜rrreee🎜Selepas pelaksanaan, $filteredSettings akan mengandungi hanya kekunci dengan akhiran .site Tetapan kunci: 🎜rrreee🎜Ringkasan🎜🎜Menggunakan fungsi pengumpulan kunci tatasusunan boleh mengatur dan memproses data tatasusunan dengan mudah dan cekap. Dengan memilih fungsi yang betul dan menggunakan peraturan tersuai, anda boleh memanipulasi tatasusunan secara fleksibel mengikut keperluan khusus anda. 🎜

Atas ialah kandungan terperinci Fungsi kumpulan kunci tatasusunan PHP dan panduan aplikasi. 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