Question

Dans un programme PHP, j'ai un tableau de certains objets personnalisés, et je veux trouver si le tableau contient un certain objet. Bien sûr, je peux utiliser Array_Search, mais cela vérifie si les objets sont le même objet, pas s'il a les mêmes variables. Je veux donc pouvoir créer ma propre fonction de comparaison pour les objets, que je peux utiliser avec la méthode Array_Search (ou quelque chose de similaire). Je veux pouvoir faire quelque chose comme ça:

class foo
{
    public $_a,$_b;
    function __construct($a,$b)
    {
        $this->_a = $a;
        $this->_b = $b;
    }

    function __equals($object)
    {
        return $this->_a == $object->_a;
    }
}
$f1 = new foo(5,4);
$f2 = new foo(4,6);
$f3 = new foo(4,5);

$array = array($f1,$f2);
$idx = array_search($f3,$array); // return 0

Est-ce que quelque chose comme ça est possible? Je sais que je peux également créer ma propre méthode Array_Search qui utilise une méthode à partir de la classe, mais que je devrais utiliser 2 fonctions de recherche différentes, une pour les classes qui ont leur propre fonction de comparaison, et une pour celles qui ont lieu ' t.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top