Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP: Bagaimana untuk menapis tatasusunan mengikut julat nilai kunci tertentu dan menyimpan nama kunci?

PHP: Bagaimana untuk menapis tatasusunan mengikut julat nilai kunci tertentu dan menyimpan nama kunci?

王林
王林asal
2024-05-01 21:39:02322semak imbas

Bagaimana untuk menapis tatasusunan PHP mengikut julat nilai kunci tertentu dan mengekalkan nama kunci? Ikut langkah ini: Tentukan fungsi panggil balik yang menyemak sama ada nilai kunci berada dalam julat yang ditentukan. Panggil array_filter(), hantarkan fungsi panggil balik dan tatasusunan sebagai parameter.

PHP: Bagaimana untuk menapis tatasusunan mengikut julat nilai kunci tertentu dan menyimpan nama kunci?

PHP: Bagaimana untuk menapis tatasusunan mengikut julat nilai kunci tertentu dan mengekalkan nama kunci?

Dalam PHP, kita boleh menggunakan fungsi array_filter() untuk menapis tatasusunan mengikut julat nilai kunci tertentu sambil mengekalkan nama kunci. Fungsi ini menerima sebagai hujah fungsi panggil balik yang memutuskan sama ada untuk mengekalkan setiap elemen dalam tatasusunan. array_filter() 函数按特定键值范围过滤数组,同时保持键名。此函数接受一个回调函数作为参数,该回调函数决定是否保留数组中的每个元素。

回调函数

回调函数应该接受两个参数:密钥和值。它返回一个布尔值,指示是否保留该元素。

语法

array_filter($array, $callback, $flag = 0);

其中:

  • $array 是要过滤的数组。
  • $callback 是一个回调函数,决定是否保留数组中的每个元素。
  • $flag 是一个可选参数,指定如何对数组中的元素进行索引。

示例

假设我们要从一个关联数组中过滤出键值在特定范围内的元素。以下是实现此目的的步骤:

  1. 定义一个回调函数,该函数检查键值是否在指定范围内。
  2. 调用 array_filter()
Fungsi panggil balik

Fungsi panggil balik harus menerima dua parameter: kunci dan nilai. Ia mengembalikan nilai Boolean yang menunjukkan sama ada elemen itu perlu dikekalkan.

Syntax

<?php

$array = [
    "a" => 1,
    "b" => 2,
    "c" => 3,
    "d" => 4,
    "e" => 5,
];

// 定义回调函数
$callback = function ($key, $value) {
    return $value >= 2 && $value <= 4;
};

// 按键值范围过滤数组
$filteredArray = array_filter($array, $callback);

// 输出结果
print_r($filteredArray);
?>

Di mana:

  • $array ialah tatasusunan yang akan ditapis. 🎜
  • $callback ialah fungsi panggil balik yang menentukan sama ada untuk mengekalkan setiap elemen dalam tatasusunan. 🎜
  • $flag ialah parameter pilihan yang menentukan cara mengindeks elemen dalam tatasusunan. 🎜
🎜🎜Contoh🎜🎜🎜Andaikan kita ingin menapis elemen dengan nilai utama dalam julat tertentu daripada tatasusunan bersekutu. Berikut ialah langkah untuk mencapainya: 🎜
  1. Tentukan fungsi panggil balik yang menyemak sama ada nilai kunci berada dalam julat yang ditentukan. 🎜
  2. Panggil array_filter(), menghantar fungsi panggil balik dan tatasusunan sebagai parameter. 🎜🎜🎜🎜Kod🎜🎜
    Array
    (
        [b] => 2
        [c] => 3
        [d] => 4
    )
    🎜🎜Output🎜🎜rrreee🎜Seperti yang anda lihat, tatasusunan yang terhasil hanya mengandungi elemen dengan nilai kunci antara 2 dan 4, dan nama kunci telah dipelihara. 🎜

Atas ialah kandungan terperinci PHP: Bagaimana untuk menapis tatasusunan mengikut julat nilai kunci tertentu dan menyimpan nama kunci?. 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