Heim > Backend-Entwicklung > PHP-Tutorial > PHP: Wie filtere ich ein Array nach einem bestimmten Schlüsselwertbereich und behalte die Schlüsselnamen bei?

PHP: Wie filtere ich ein Array nach einem bestimmten Schlüsselwertbereich und behalte die Schlüsselnamen bei?

王林
Freigeben: 2024-05-01 21:39:02
Original
421 Leute haben es durchsucht

Wie filtere ich ein PHP-Array nach einem bestimmten Schlüsselwertbereich und behalte die Schlüsselnamen bei? Befolgen Sie diese Schritte: Definieren Sie eine Rückruffunktion, die prüft, ob der Schlüsselwert innerhalb des angegebenen Bereichs liegt. Rufen Sie array_filter() auf und übergeben Sie die Rückruffunktion und das Array als Parameter.

PHP: Wie filtere ich ein Array nach einem bestimmten Schlüsselwertbereich und behalte die Schlüsselnamen bei?

PHP: Wie filtere ich ein Array nach einem bestimmten Schlüsselwertbereich und behalte die Schlüsselnamen bei?

In PHP können wir die Funktion array_filter() verwenden, um ein Array nach einem bestimmten Schlüsselwertbereich zu filtern und dabei die Schlüsselnamen beizubehalten. Diese Funktion akzeptiert als Argument eine Rückruffunktion, die entscheidet, ob jedes Element im Array beibehalten werden soll. array_filter() 函数按特定键值范围过滤数组,同时保持键名。此函数接受一个回调函数作为参数,该回调函数决定是否保留数组中的每个元素。

回调函数

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

语法

array_filter($array, $callback, $flag = 0);
Nach dem Login kopieren

其中:

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

示例

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

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

Die Callback-Funktion sollte zwei Parameter akzeptieren: Schlüssel und Wert. Es gibt einen booleschen Wert zurück, der angibt, ob das Element beibehalten werden soll.

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);
?>
Nach dem Login kopieren

Wobei:

  • $array ist das zu filternde Array. 🎜
  • $callback ist eine Rückruffunktion, die bestimmt, ob jedes Element im Array beibehalten werden soll. 🎜
  • $flag ist ein optionaler Parameter, der angibt, wie Elemente im Array indiziert werden. 🎜
🎜🎜Beispiel🎜🎜🎜Angenommen, wir möchten Elemente mit Schlüsselwerten innerhalb eines bestimmten Bereichs aus einem assoziativen Array herausfiltern. Hier sind die Schritte, um dies zu erreichen: 🎜
  1. Definieren Sie eine Rückruffunktion, die prüft, ob der Schlüsselwert innerhalb des angegebenen Bereichs liegt. 🎜
  2. Rufen Sie array_filter() auf und übergeben Sie die Rückruffunktion und das Array als Parameter. 🎜🎜🎜🎜Code🎜🎜
    Array
    (
        [b] => 2
        [c] => 3
        [d] => 4
    )
    Nach dem Login kopieren
    🎜🎜Ausgabe🎜🎜rrreee🎜Wie Sie sehen können, enthält das resultierende Array nur Elemente mit Schlüsselwerten zwischen 2 und 4, und die Schlüsselnamen wurden beibehalten. 🎜

    Das obige ist der detaillierte Inhalt vonPHP: Wie filtere ich ein Array nach einem bestimmten Schlüsselwertbereich und behalte die Schlüsselnamen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage