Comment définir de façon dynamique les clés du tableau en php

J'ai un peu de logique qui est utilisé pour trier les données, mais en fonction de la saisie de l'utilisateur les données sont regroupées différemment. Droit maintenant, j'ai cinq fonctions différentes qui contiennent la même logique mais différents groupements. Est-il un moyen de combiner ces fonctions et de définir de façon dynamique une valeur de groupe correctement. Au sein de la fonction de ces missions sont en train de se

Par exemple, parfois je conserver les calculs simplement par:

$calcs[$meter['UnitType']['name']] = ...

mais d'autres fois besoin d'un plus spécifique de regroupement:

$calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] =...

Comme vous pouvez le voir parfois, il est stocké dans un multidiminesional tableau et d'autres fois non. J'ai essayé d'utiliser la fonction eval() mais sans succès (pas sûr que ce soit la bonne approche). Stocker les données dans une variable temporaire n'a pas vraiment d'économiser beaucoup car il y a beaucoup de boucles imbriquées et si les déclarations ainsi, le tableau devra être répétée dans de multiples endroits.

MODIFIER

J'espère que l'exemple suivant explique mon problème. C'est évidemment une bêtise version:

if(){
     $calcs[$meter['UnitType']['name']] = $data;
} else {
    while () {
       $calcs[$meter['UnitType']['name']] = $data;
    }
} 

Maintenant la même logique peut être utilisé, mais pour les stocker dans des tonalités différentes:

if(){
     $calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] = $data;
} else {
    while () {
       $calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] = $data;
    }
} 

Est-il un moyen d'abstraire les touches dans l' $calc tableau[] afin que je puisse avoir une fonction au lieu d'avoir plusieurs fonctions différentes de la matrice de touches?

Cela pourrait-il être mieux gérés à l'aide d'objets?
Je ne pas vraiment comprendre le problème. Essayez-vous de faire des requêtes sur ces structures de données d'une manière uniforme?
J'ai fait un edit pour aider à expliquer. J'espère qu'il ne l'aide.
pouvez-vous donner quelques exemples de données? Êtes-vous littarlly en essayant de déterminer si le nom de la clé est UnitType ou de Ressources, ou ne UnitType et des Ressources effectivement stocker du contenu dynamique dans les clés?
ajouter des espaces réservés pour des valeurs entrées par l'utilisateur. Faire vos tableaux uniforme.

OriginalL'auteur Kramer | 2010-09-13