Effizienteste Methode zum Suchen nach Objekten in einem Array anhand des Werts einer bestimmten Eigenschaft
Die effizienteste Methode, um in einem Array nach einem Objekt mit einem bestimmten Wert einer bestimmten Eigenschaft zu suchen, besteht darin, die integrierte Funktion array_filter()
in PHP zu verwenden. Beispielsweise können Sie, wenn Sie ein Array von Objekten haben und das Objekt mit einem bestimmten Wert für die Eigenschaft "id" suchen möchten, den folgenden Code verwenden:
<?php
$array_of_objects = [(object) ['id' => 1, 'name' => 'John'], (object) ['id' => 2, 'name' => 'Jane'], (object) ['id' => 3, 'name' => 'Jim'], (object) ['id' => 4, 'name' => 'Jill']];
$specific_value = 2;
$filtered_array = array_filter($array_of_objects, function ($obj) use ($specific_value) {
return $obj->id == $specific_value;
});
print_r($filtered_array);
?>
Ausgabe:
Array ( [1] => stdClass Object ( [id] => 2 [name] => Jane ) )
Die Funktion array_filter()
filtert die $array_of_objects
basierend auf der in der anonymen Funktion angegebenen Bedingung. In diesem Fall prüft die Bedingung, ob die Eigenschaft id
jedes Objekts gleich $specific_value
ist, was 2
ist. Nur die Objekte mit id
gleich 2
werden in das gefilterte Array aufgenommen.
Dies ist die effizienteste Methode, um in einem Array nach einem Objekt mit einem bestimmten Wert einer bestimmten Eigenschaft zu suchen.