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

Bagaimana untuk mengumpulkan elemen tatasusunan mengikut peraturan yang ditentukan dalam PHP

WBOY
WBOYasal
2023-07-12 10:11:022340semak imbas

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);

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
        )
    )
)

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);

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);

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!

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