Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mengumpulkan elemen tatasusunan mengikut peraturan yang ditentukan dalam PHP

Bagaimana untuk mengumpulkan elemen tatasusunan mengikut peraturan yang ditentukan dalam PHP

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-07-12 10:12:01
asal
2404 orang telah melayarinya

Cara mengumpulkan elemen tatasusunan mengikut peraturan yang ditentukan dalam PHP

Dalam PHP, kita selalunya perlu mengumpulkan elemen dalam tatasusunan mengikut peraturan tertentu untuk memudahkan proses dan mengurus data. Dalam artikel ini, kami akan membincangkan beberapa cara biasa untuk mencapai ini.

Kaedah 1: Gunakan gelung foreach dan tatasusunan baharu

Kaedah ini lebih intuitif Dengan merentasi tatasusunan asal, elemen diletakkan ke dalam tatasusunan berkumpulan baharu mengikut peraturan yang ditetapkan.

//原始数组
$students = array(
    array('name' => '张三', 'score' => 80),
    array('name' => '李四', 'score' => 90),
    array('name' => '王五', 'score' => 70),
    array('name' => '赵六', 'score' => 85),
    array('name' => '孙七', 'score' => 95),
);

//新的分组数组
$groupedStudents = array();

foreach ($students as $student) {
    $score = $student['score'];
    if (!isset($groupedStudents[$score])) {
        $groupedStudents[$score] = array();
    }
    $groupedStudents[$score][] = $student;
}

//打印结果
print_r($groupedStudents);
Salin selepas log masuk

Kod di atas akan mengumpulkan pelajar mengikut gred mereka dan mencetak keputusan. Hasil output adalah seperti berikut:

Array(
    [80] => Array(
        [0] => Array(
            [name] => 张三
            [score] => 80
        )
    )
    [90] => Array(
        [0] => Array(
            [name] => 李四
            [score] => 90
        )
    )
    [70] => Array(
        [0] => Array(
            [name] => 王五
            [score] => 70
        )
    )
    [85] => Array(
        [0] => Array(
            [name] => 赵六
            [score] => 85
        )
    )
    [95] => Array(
        [0] => Array(
            [name] => 孙七
            [score] => 95
        )
    )
)
Salin selepas log masuk

Kaedah 2: Gunakan fungsi array_reduce

Fungsi array_reduce boleh mengumpul elemen dalam tatasusunan mengikut peraturan yang ditetapkan. Kita boleh menggunakannya untuk melaksanakan pengelompokan tatasusunan.

$groupedStudents = array_reduce($students, function ($result, $student) {
    $score = $student['score'];
    if (!isset($result[$score])) {
        $result[$score] = array();
    }
    $result[$score][] = $student;
    return $result;
}, array());

//打印结果
print_r($groupedStudents);
Salin selepas log masuk

Kaedah 3: Gunakan fungsi array_chunk

Fungsi array_chunk boleh membahagi tatasusunan kepada berbilang tatasusunan kecil mengikut saiz yang ditentukan. Kita boleh menggunakannya untuk melaksanakan pengumpulan tatasusunan.

$groupedStudents = array_chunk($students, 1, true);
//打印结果
print_r($groupedStudents);
Salin selepas log masuk

Dalam kod di atas, kami membahagi tatasusunan asal kepada tatasusunan kecil dengan setiap subtatasusunan hanya mengandungi satu elemen, dengan itu mencapai kesan pengelompokan mengikut peraturan yang ditetapkan.

Melalui kaedah di atas, kita boleh mengumpulkan elemen tatasusunan dengan mudah mengikut peraturan yang ditetapkan. Untuk senario aplikasi yang berbeza, kita boleh memilih kaedah yang sesuai dengan kita untuk melaksanakan pengelompokan tatasusunan dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Saya harap anda boleh menggunakan teknik pengumpulan tatasusunan secara fleksibel dalam pembangunan PHP dan berjaya merealisasikan keperluan anda.

Atas ialah kandungan terperinci Bagaimana untuk mengumpulkan elemen tatasusunan mengikut peraturan yang ditentukan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Isu terkini
最高效的对象数组分组方法
daripada 1970-01-01 08:00:00
0
0
0
对对象数组进行分组的最佳方法
daripada 1970-01-01 08:00:00
0
0
0
使用列值分组2D数组数据,生成3D数组
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan