2010-10-23 10 views
4

Je ne sais pas vraiment comment décrire ce problème, donc je suis désolé si le titre est un peu flou.Accès Variables variables avec un objet

J'ai un objet avec des champs de tableau. J'ai obtenu le nom de ces champs stockés dans une variable et je veux atteindre un élément dans l'un de ces champs de tableau. par exemple.

$field_name = 'array_field'; 

$object = new stdClass(); 
$object->array_field= array('this', 'is', 'an', 'array); 

Je sais que je peux accéder au tableau avec $object->$field_name, mais maintenant je veux accéder à une valeur par clé du tableau tout en accédant à la variable $field_name. par exemple (que de toute évidence ne fonctionne pas) $object->$field_name[0]

+0

Utilisez des tableaux, mec. Les variables variables sont boiteuses. –

Répondre

14

Je pense, vous devez utiliser quelque chose comme ce qui suit:

$object->{$field_name}[0] 

Il est décrit en détail dans "variables variables" section du manuel PHP: http://www.php.net/manual/en/language.variables.variable.php

BTW, selon mon expérience, une telle manipulation des champs peut conduire à l'obscurité du code - I Je recommande d'utiliser des tableaux associatifs, si possible.

+0

Merci! Fonctionne comme un charme. Je suppose que je suis aveugle parce que je ne pouvais pas le trouver là ou je ne savais pas quoi chercher – Barthje

+0

Je vais vérifier pour une manière plus claire si possible, merci :) – Barthje

3

Essayez ceci:

$object->{$field_name}[0]