Par exemple :
$product = new Product("cat");
if(isset($sales[$product])){
$sales[$product]++;
}
else{
$sales[$product] = 1;
}
Par exemple :
$product = new Product("cat");
if(isset($sales[$product])){
$sales[$product]++;
}
else{
$sales[$product] = 1;
}
Il existe une fonction spl_object_hash pour obtenir un identifiant d'objet unique sous forme de chaîne, qui peut être utilisé comme clé de tableau. http://php.net/manual/en/function.spl-object-hash.php
Seuls les entiers et les chaînes sont autorisés en tant que clés de tableau. Vous pouvez écrire une classe qui implémente ArrayAccess si vous avez absolument besoin de cette fonctionnalité.
Si l'objet est une simple classe prédéfinie faite avec new stdClass()
, il peut être valide d'utiliser la représentation json de cette classe avec json_encode
.
$product = new stdClass();
$product->brand = "Acme";
$product->name = "Patator 3.14";
$product_key = json_encode($product);
if(isset($sales[$product_key])){
$sales[$product_key]++;
}
else{
$sales[$product_key] = 1;
}
Mais gardez à l'esprit que l'égalité de deux objets est toujours un choix de modèle d'affaires et doit être soigneusement conçu.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.