Heim  >  Artikel  >  Backend-Entwicklung  >  PHP ermittelt, ob es sich in einem bestimmten Attribut des Arrays befindet

PHP ermittelt, ob es sich in einem bestimmten Attribut des Arrays befindet

WBOY
WBOYOriginal
2023-05-05 21:53:09532Durchsuche

In PHP kommen Operationen an Arrays sehr häufig vor. Ein Array ist eine ungeordnete Datenstruktur, die mehrere zugehörige Werte speichern kann. Wenn wir feststellen müssen, ob ein Element in einem Array vorhanden ist, können wir zur Bestimmung die in_array-Funktion von PHP verwenden. Wenn Sie jedoch feststellen müssen, ob ein Element in einem bestimmten Attribut des Arrays vorhanden ist, wie erreichen Sie dies?

  1. Verwenden Sie die for-Schleife, um das Array zu durchlaufen.

Wir können die for-Schleife verwenden, um das Array zu durchlaufen und nacheinander zu vergleichen, ob ein bestimmtes Attribut jedes Elements die Bedingungen erfüllt. Wenn ein Element gefunden wird, das die Bedingungen erfüllt, bedeutet dies dass das Element in diesem Attribut des Arrays vorhanden ist.

Beispielcode:

function isExistInArray($needle, $array, $key) {
    for ($i = 0; $i < count($array); $i++) {
        if ($array[$i][$key] == $needle) {
            return true;
        }
    }
    return false;
}

$array = array(
    array("name" => "apple", "color" => "red"),
    array("name" => "banana", "color" => "yellow"),
    array("name" => "orange", "color" => "orange")
);

echo isExistInArray("red", $array, "color") ? "存在" : "不存在"; // 存在
echo isExistInArray("green", $array, "color") ? "存在" : "不存在"; // 不存在

Im obigen Code definieren wir eine Funktion namens isExistInArray. Diese Funktion hat drei Parameter: das zu findende Element $needle, das zu findende Array $array und den Attributnamen $key. Vergleichen Sie die Attributwerte jedes Elements einzeln über eine for-Schleife. Wenn ein Element gefunden wird, das die Bedingungen erfüllt, wird true zurückgegeben, andernfalls wird false zurückgegeben.

  1. Verwenden Sie die Funktion array_map.

Die Funktion array_map kann verwendet werden, um eine bestimmte Funktion für jedes Element des Arrays auszuführen und das verarbeitete Array zurückzugeben. Mit dieser Funktion können wir ein bestimmtes Attribut des Arrays filtern, um festzustellen, ob ein Element im Attribut vorhanden ist.

Beispielcode:

function checkValue($value, $needle) {
    if ($value == $needle) {
        return true;
    }
    return false;
}

$array = array(
    array("name" => "apple", "color" => "red"),
    array("name" => "banana", "color" => "yellow"),
    array("name" => "orange", "color" => "orange")
);

$result = array_map(function($item) use ($needle) {
    return checkValue($item["color"], $needle);
}, $array);

if (in_array(true, $result)) {
    echo "存在";
} else {
    echo "不存在";
}

Im obigen Code definieren wir eine Funktion namens checkValue, um zu vergleichen, ob ein bestimmter Attributwert des Arrays gleich dem zu findenden Wert ist. Als nächstes verwenden wir die Funktion array_map, um die Funktion checkValue für jedes Element des Arrays auszuführen und das verarbeitete Array zurückzugeben. Schließlich verwenden wir die Funktion in_array, um zu bestimmen, ob im verarbeiteten Array ein wahrer Wert vorhanden ist. Wenn dieser vorhanden ist, bedeutet dies, dass das Element in diesem Attribut des Arrays vorhanden ist.

Kurz gesagt, um festzustellen, ob ein Element in einem bestimmten Attribut des Arrays vorhanden ist, müssen Sie das Array durchlaufen oder die Funktion array_map verwenden, um das Array zu filtern. Die beiden oben genannten Methoden haben jeweils ihre eigenen Vor- und Nachteile, und Entwickler können die geeignete Methode entsprechend ihren tatsächlichen Anforderungen auswählen.

Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob es sich in einem bestimmten Attribut des Arrays befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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