2011-11-13 18 views
5

Dependiendo de la página actual, me gustaría cambiar el CSS del módulo de menú elegido y hacer otros diferentes, etc. Todo eso mientras construye dinámicamente la página antes de cargarla.Construya un nombre de variable en PHP de dos variables

Mi problema es que tengo una serie de variables que van por esta estructura:

$css_(NAME_OF_MODULE) 

saber qué variables se deben establecer, tengo otra variable que he recibido en los parámetros de estas funciones, llamado

$chosen_menu 

Diga $chosen_Menu = "C1", me gustaría agregar contenido a $css_C1. Por lo tanto, lo que quiero es crear un nombre de variable de 2 variables, llamado $css_C1

que he intentado:

${$css_.$chosen_menu} = "value"; 

pero, duerma parece funcionar. Cualquier pista ?

+0

¿Por qué usan css_ $ en lugar de $ css? – Dimme

+0

¿Por qué no? ¿Hay alguna razón para no hacerlo? EDITAR: Hubo un error en la pregunta. –

+6

¿Por qué no solo usa una matriz asociativa? – delnan

Respuesta

4

que probablemente no sólo el trabajo. Sin embargo, PHP admite la indirección completa, por lo que algo así funcionará.

$varName = $css."_".$chosen_menu; 
$$varName = "value"; 

Si no es así, es probable que sea tratar de interpretar $css_ como un nombre de variable en el segundo ejemplo de código, por lo que sólo cambia eso a $css."_".$chosen_menu.

0

No estoy seguro de si te consigo la derecha, pero ¿qué tal esto:

${$css."_".$chosen_menu} = "value"; 
1
$nr = 1;   
     ${'name' . $nr} = 20 ;   
     var_dump($name1); 
Cuestiones relacionadas