Foros del Web » Programando para Internet » PHP »

Por que no me funciona si utilizo array¿?

Estas en el tema de Por que no me funciona si utilizo array¿? en el foro de PHP en Foros del Web. Bueno tengo un problema y espero que me puedan ayudar resulta que tengo lo siguiente: Una variable (“variable”) que pasa desde un formulario, pero en ...
  #1 (permalink)  
Antiguo 19/04/2006, 09:36
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 9 meses
Puntos: 0
Por que no me funciona si utilizo array¿?

Bueno tengo un problema y espero que me puedan ayudar resulta que tengo lo siguiente:

Una variable (“variable”) que pasa desde un formulario, pero en este ejemplo le puse por valor “dias”;

$variable=”dias”;
$dias=array(“lunes”,”martes”,”miércoles”,”etc”);

for($i=0;$i<count($$variable);$i++){
echo $$variable[$i];
}

El error q me pasa es que no escribe nada pero el count si muestra la cantidad de elementos del array en este caso son 4
  #2 (permalink)  
Antiguo 19/04/2006, 09:38
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 9 meses
Puntos: 0
ya lo solvente agregando esto:

$variable=$$variable;

alguna otra forma de hacerlo¿?
  #3 (permalink)  
Antiguo 19/04/2006, 09:49
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años, 7 meses
Puntos: 2
Podría ser así:

Código PHP:
<?
$variable
=&#8221;dias”; 
$dias=array(&#8220;lunes”,”martes”,”miércoles”,”etc”);

for($i=0;$i<count($$variable);$i++){
echo ${
$variable}[$i];
}
?>
El problema es que hay ambiguedad, si ponemos $$variable[$i] php no sabe si $variable es un arreglo y queremos fomar la variable con el elemento $i de ese arreglo o $variable es una cadena y queremos formar la variable con esta cadena y acceder al indice $i de la variable formada (¿que lío, no?).
Saludos.
  #4 (permalink)  
Antiguo 19/04/2006, 09:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 9 meses
Puntos: 0
Si que lió pero todo lo que tiene lió en su mayoría es interesante ejejje bueno en fin muchas gracias lo pondré en practica ya mismo, salu2…
  #5 (permalink)  
Antiguo 19/04/2006, 09:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 9 meses
Puntos: 0
bueno lo he puesto y no me va me da un error en la linea 3.

Parse error: parse error, unexpected '=' in C:\Archivos de programa\PHP Expert Editor\php807.tmp on line 3
  #6 (permalink)  
Antiguo 19/04/2006, 10:03
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años, 7 meses
Puntos: 2
Es problema de las comillas. Yo copie y pegué el código anterior, que tenia las comillas "inclinadas" (¿como se llaman esas comillas?). Deberia ser asi:

Código PHP:
 <? 
$variable
="dias";  
$dias=array("lunes","martes","miércoles","etc"); 

for(
$i=0;$i<count($$variable);$i++){ 
echo ${
$variable}[$i]; 

?>
Una sugerencia: usa foreach para recorrer el array en lugar de for.

Saludos.
  #7 (permalink)  
Antiguo 19/04/2006, 10:09
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 9 meses
Puntos: 0
muchas gracias este si va, saludos la sugerencia la tomare en cuenta.... ahora si no es la molestia que funcion cumplen las llaves a los lados de $variable¿?
  #8 (permalink)  
Antiguo 19/04/2006, 10:15
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años, 7 meses
Puntos: 2
Las llaves son para resolver la ambiguedad que mencione anteriormente. Capaz que con un ejemplo se entiende mejor:

Código PHP:
<?  
$variable
="dias";   
$dias=array("lunes","martes","miércoles","etc");  
$i=0;
echo ${
$variable}[$i]; //Imprime "lunes"  
$variable = array("enero""febrero");
$enero "hola";
echo ${
$variable[$i]}; //Imprime "hola"
?>
Saludos.
  #9 (permalink)  
Antiguo 19/04/2006, 10:20
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 9 meses
Puntos: 0
valla muy bien ya pille... muchas gracias por tu tiempo. Salu2..
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 14:06.