Maison > développement back-end > tutoriel php > Comment puis-je trouver efficacement une entrée de tableau en fonction de la valeur de propriété d'un objet en PHP ?

Comment puis-je trouver efficacement une entrée de tableau en fonction de la valeur de propriété d'un objet en PHP ?

Patricia Arquette
Libérer: 2024-11-29 03:58:14
original
817 Les gens l'ont consulté

How Can I Efficiently Find an Array Entry Based on an Object's Property Value in PHP?

Recherche d'entrées de tableau par valeur de propriété d'objet

Considérez un tableau contenant des objets, où chaque objet a une propriété "ID". Étant donné une variable entière "$v", la tâche consiste à déterminer comment sélectionner l'entrée du tableau qui contient un objet avec sa propriété "ID" correspondant à "$v".

Approche itérative

Une méthode consiste à parcourir chaque entrée du tableau et à comparer la propriété "ID" de l'objet à "$v". Le code suivant le démontre :

$item = null;
foreach($array as $struct) {
    if ($v == $struct->ID) {
        $item = $struct;
        break;
    }
}
Copier après la connexion

Cette approche convient aux recherches ponctuelles lorsque les performances ne sont pas une préoccupation majeure.

Approche HashMap

Une stratégie alternative consiste à construire une hashmap en utilisant un autre tableau associatif. Cela implique d'ajouter chaque objet au hashmap, en utilisant sa propriété "ID" comme clé. La recherche d'un objet avec un "ID" correspondant devient alors une opération O(1). Pour plus d'informations sur cette approche, reportez-vous à la question "Tableau PHP de référence par plusieurs index."

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal