Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kes aplikasi fungsi tatasusunan PHP

Kes aplikasi fungsi tatasusunan PHP

WBOY
WBOYasal
2023-06-20 09:48:421530semak imbas

PHP ialah bahasa pengaturcaraan web yang biasa digunakan, dan tatasusunan ialah salah satu jenis data yang paling penting. Dalam PHP, terdapat banyak fungsi tatasusunan yang berkuasa untuk memproses data tatasusunan, yang boleh meningkatkan kecekapan pembangunan. Berikut akan memperkenalkan beberapa fungsi tatasusunan PHP yang biasa digunakan dan memberikan beberapa kes aplikasi praktikal.

  1. array_sort

Fungsi array_sort digunakan untuk mengisih tatasusunan Terdapat berbilang kaedah pengisihan. Berikut ialah contoh:

function array_sort($arr, $sort_key, $sort_order = SORT_ASC) {
    if (empty($arr) || !is_array($arr)) {
        return $arr;
    }
    $keys = array_keys($arr);
    if (!is_numeric($sort_key)) {
        $sort_key_arr = array();
        foreach ($keys as $k) {
            $sort_key_arr[$k] = $arr[$k][$sort_key];
        }
        $sort_key = $sort_key_arr;
    }
    array_multisort($sort_key, $sort_order, $keys);
    $sorted_arr = array();
    foreach ($keys as $k) {
        $sorted_arr[$k] = $arr[$k];
    }
    return $sorted_arr;
}

Argumen untuk fungsi ini ialah tatasusunan, kunci untuk diisih mengikut dan susunan isihan (lalai kepada menaik).

Kes aplikasi: Isih tatasusunan berbilang dimensi mengikut nilai kunci tertentu.

$students = array(
    array('name' => 'Mike', 'score' => 80),
    array('name' => 'John', 'score' => 90),
    array('name' => 'Alice', 'score' => 70)
);
$students_sorted = array_sort($students, 'score', SORT_DESC);
print_r($students_sorted);

Hasil keluaran:

Array
(
    [1] => Array
        (
            [name] => John
            [score] => 90
        )

    [0] => Array
        (
            [name] => Mike
            [score] => 80
        )

    [2] => Array
        (
            [name] => Alice
            [score] => 70
        )

)
  1. array_filter

Fungsi array_filter digunakan untuk menapis elemen dalam tatasusunan mengikut keadaan yang ditentukan, dan anda boleh menyesuaikan peraturan penapisan. Berikut ialah contoh:

function array_filter_custom($arr, $func) {
    if (empty($arr) || !is_array($arr)) {
        return $arr;
    }
    $result = array();
    foreach ($arr as $key => $value) {
        if ($func($value, $key)) {
            $result[$key] = $value;
        }
    }
    return $result;
}

Parameter fungsi ini ialah tatasusunan dan fungsi panggil balik tersuai. Fungsi panggil balik mengembalikan nilai bool, yang digunakan untuk menentukan sama ada elemen semasa perlu dikekalkan.

Kes aplikasi: tapis nombor genap dalam tatasusunan.

$numbers = array(1, 2, 3, 4, 5, 6, 7, 8);
$even_numbers = array_filter_custom($numbers, function($value) {
    return $value % 2 == 0;
});
print_r($even_numbers);

Hasil keluaran:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
)
  1. array_map

Fungsi array_map digunakan untuk menggunakan fungsi panggil balik kepada setiap elemen dalam tatasusunan dan mengembalikan yang baharu tatasusunan. Berikut ialah contoh:

function array_map_custom($arr, $func) {
    if (empty($arr) || !is_array($arr)) {
        return $arr;
    }
    $result = array();
    foreach ($arr as $key => $value) {
        $result[$key] = $func($value);
    }
    return $result;
}

Parameter fungsi ini ialah tatasusunan dan fungsi panggil balik tersuai. Fungsi panggil balik harus menerima satu parameter dan mengembalikan nilai yang ditukar.

Kes aplikasi: Tukar rentetan dalam tatasusunan kepada huruf besar.

$strings = array('hello', 'world', 'php');
$strings_upper = array_map_custom($strings, function($value) {
    return strtoupper($value);
});
print_r($strings_upper);

Hasil keluaran:

Array
(
    [0] => HELLO
    [1] => WORLD
    [2] => PHP
)
  1. array_reduce

Fungsi array_reduce digunakan untuk menggunakan fungsi panggil balik kepada setiap elemen dalam tatasusunan satu demi satu, dan akhirnya mengembalikan nilai A yang dikurangkan. Berikut ialah contoh:

function array_reduce_custom($arr, $func, $initial = null) {
    if (empty($arr) || !is_array($arr)) {
        return $initial;
    }
    $result = $initial;
    foreach ($arr as $value) {
        $result = $func($result, $value);
    }
    return $result;
}

Parameter fungsi ini ialah tatasusunan, fungsi panggil balik tersuai dan nilai awal pilihan.

Kes aplikasi: Tambahkan semua nilai dalam tatasusunan.

$numbers = array(1, 2, 3, 4, 5);
$sum = array_reduce_custom($numbers, function($carry, $item) {
    return $carry + $item;
});
echo $sum;

Hasil keluaran:

15

Melalui kes aplikasi praktikal ini, anda boleh lebih memahami penggunaan fungsi tatasusunan PHP, dengan itu memproses data tatasusunan dengan lebih mudah semasa proses pengaturcaraan.

Atas ialah kandungan terperinci Kes aplikasi fungsi tatasusunan 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