2010-01-19 8 views
5

Quiero crear matrices con claves de objetos en PHP, es decir, algo como esto:¿Cómo crear estructuras de datos similares a una matriz con claves de objetos en PHP?

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

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

Sin embargo, esto plantea un error. Las matrices solo pueden tener enteros o claves de cadena. Termino teniendo que hacer algo como:

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

Esto funciona pero no es tan limpio como me gustaría. ¿Hay una mejor manera? (Tal vez algo de la presión sonora que me falta ...)

TIA

Respuesta

10

Puede utilizar SplObjectStorage del SPL como un mapa con claves de objeto:

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

brillante. ¡Gracias! –

Cuestiones relacionadas