Foros del Web » Programando para Internet » PHP »

Crear nombre de variable, con 2 variables anteriores

Estas en el tema de Crear nombre de variable, con 2 variables anteriores en el foro de PHP en Foros del Web. Hola amigos, Tengo el siguiente codigo: Código PHP: $i = 1 ; foreach( $_POST [ 'categoria' ] as  $value ) { echo  "\$categoria_nombrada_$i = $value" ; $i ++; ...
  #1 (permalink)  
Antiguo 05/09/2008, 02:19
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 6 meses
Puntos: 0
Pregunta Crear nombre de variable, con 2 variables anteriores

Hola amigos,
Tengo el siguiente codigo:

Código PHP:
$i=1;
foreach(
$_POST['categoria'] as $value)
{
echo 
"\$categoria_nombrada_$i = $value";
$i++;

Hasta ahi todo bien, si yo imprimo eso me muestra un resultado como:

$categoria_nombrada_1 = Direccion Estrategica
$categoria_nombrada_2 = Control de Gestion
$categoria_nombrada_3 = Gestion de la Calidad
$categoria_nombrada_4 = Gestion Financiera
$categoria_nombrada_5 = Normas IFRS
$categoria_nombrada_6 = Gestion de Procesos

El punto es que yo necesito transformar eso mismo, pero en vez de imprimirlo lo necesito hacer una variable, de tal manera que despues yo pueda leer:

echo "$categoria_nombrada_3";

e inmediatamente obtengo el valor de 3 que es "Gestion de la Calidad"

El punto es que yo no puedo hacer esto:

Código PHP:
$i=1;
foreach(
$_POST['categoria'] as $value)
{
$categoria_nombrada_$i "$value";
$i++;

Por que eso me da error.

Entonces yo necesito crear el nombre $categoria_nombrada_$i
Donde $i es obviamente el numero de 1 a infinito, que se obtiene en el foreach.

Espero se entienda y ojala me puedan ayudar.

Muchas gracias.
__________________
ChilenoCesar Looking for something new...

Última edición por CHILENOCES; 05/09/2008 a las 03:01
  #2 (permalink)  
Antiguo 05/09/2008, 02:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Crear nombre de variable, con 2 variables anteriores

¿Por qué no utilizas un array? en este caso será mucho más fácil de manejar
  #3 (permalink)  
Antiguo 05/09/2008, 02:43
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 6 meses
Puntos: 0
Respuesta: Crear nombre de variable, con 2 variables anteriores

Y de que manera los obtengo?
Estos vienen desde la pagina anterior son checkboxes que estan con name="categoria_nombrada[]"

Como definiria el array para que tome los post si estos no vienen "numerados"?

$nuevoarray = array($_POST['categoria_nombrada'];

???

He visto el codigo que has puesto en un post anterior:

$newArray=array_keys($saldos);

for($i=0; $i<count(newArray); $i++){
$indice = $newArray[$i];
foreach($saldos[$indice] as $key=>$valor){
if($valor == "") echo '0';
else echo $valor;
}
echo "<br/>";
}

Pero de que manera yo definiria esos $saldos? llamados "categoria_nombrada" si estos en la pagina anterior no tienen un nombre numerado, simplemente son categoria_nombrada[] ?
__________________
ChilenoCesar Looking for something new...
  #4 (permalink)  
Antiguo 05/09/2008, 03:07
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 6 meses
Puntos: 0
Respuesta: Crear nombre de variable, con 2 variables anteriores

Bueno lo he resuelto de la siguiente manera:

Código PHP:
$i=1;
foreach(
$_POST['categoria_nombrada'] as $value)
{
${
'categoria_nombrada_'.$i} = "$value";
$i++;

No se si sera lo mejor pero funciona, entonces yo digo:

Código PHP:
echo "$categoria_nombrada_3"
Y me da el resultado de la 3, lo mismo si le pido 2, 1, 9, etc...

Si alguien tiene una mejor solucion, es bienvenida, pero de todos modos publico como lo solucione.

Muchas gracias!
__________________
ChilenoCesar Looking for something new...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:04.