2010-01-19 5 views
5

Je veux créer des tableaux avec des clés d'objet en PHP, à savoir quelque chose comme ceci:Comment créer des structures de données de type tableau avec des clés d'objet en PHP?

<?php 
$keyObject = new KeyObject; 
$valueObject = new ValueObject; 

$hash = array($keyObject => $valueObject); 

Cependant, cela soulève une erreur. Les tableaux peuvent uniquement avoir des clés entières ou des chaînes. Je finis par avoir à faire quelque chose comme:

$hash = array(
    'key' => $keyObject, 
    'value' => $valueObject); 

Cela fonctionne mais ce n'est pas aussi soigné que je le voudrais. Y a-t-il un meilleur moyen? (Peut-être quelque chose du SPL que je suis absent ...)

TIA

Répondre

10

Vous pouvez utiliser SplObjectStorage du SPL comme une carte avec des clés d'objet:

$map = new SplObjectStorage; 
$key = new StdClass; 
$value = new StdClass; 
$map[$key] = $value; 
+0

brillant. Je vous remercie! –

Questions connexes