2013-10-16 4 views
1

Je suis tout à fait nouveau sur php et je me suis coincé avec un problème .. j'ai un tableau avec le jour de l'appel semainePHP - nom de variable variable générique d'une variable

$days = array('monday', 'tuesday', 'wednesday', 'thurday', 'frieday', 'sunday', 'saturday'); 

a également obtenu un for loop index i=0 i<7 i++ ça va tout le jour de la semaine, donc je n'ai pas besoin de répéter le code 7 fois (1 pour chaque jour) et j'ai eu ouvert, fermer, heures et beaucoup d'informations sur chaque jour ..

donc une partie J'ai besoin d'une valeur pour une variable générique appelée: $ ini_XXXXX_close où XXX est le jour de la semaine donc c'est ($ini_$dias[$i]_close) D'une manière générale

quand j'ai essayé de le faire: $ini_$dias[$i]_close=0; Je suis erreur ... donc ce que je faisais est d'utiliser une troisième variable ..

$indexcloseini="ini_$dias[$i]_close"; 

puis $$ indexcloseini = 0 qui sucessfull générer la variable $ ini_XXXXX_close = 0; (doble $$ lire de manuel php)

Mais le problème est quand j'ai essayé plus tard de comparer cette variable avec une autre valeur à l'intérieur et IF phrase .. La seule façon de acomplish est déjà d'utiliser une variable intermédiaire ..

est-il un autre moyen facile de faire cela .. Je lis manuel de référence php et essayé d'utiliser {!} et beaucoup de chose, mais ne peux pas le faire fonctionner ..

y at-il fonction de transformer cette "$ini_$dias[$i]_close" pour ficeler afin que je puisse faire

$*STRING CONVERSION FUNCTION of $ini_$dias[$i]_close* 

pour créer la variable composée de nombreuses valeurs de variable?

Répondre

2

Personnellement, je n'irais pas dans cette direction. C'est complexe, déroutant et rarement une solution utile. Avez-vous envisagé d'utiliser un tableau imbriqué pour stocker les valeurs? Ou même créer un objet?

Comme un tableau, vous pourriez avoir:

$ini = array('monday'=>array(), 'tuesday'=>array(), //etc); 
$ini[$day]['closeStatus'] = 0; 
+0

grande ... Je vais aller avec cette option vous me jeu .. merci ... – user2885308