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.