Foros del Web » Programando para Internet » PHP »

Modificar el valor de un Array "con comodin"

Estas en el tema de Modificar el valor de un Array "con comodin" en el foro de PHP en Foros del Web. El valor de la clave de ese Array puede ser "0" o "1" y me gustaria modificarlo para que cuando el valor es "1" salga ...
  #1 (permalink)  
Antiguo 31/07/2006, 15:42
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 20 años, 11 meses
Puntos: 0
Modificar el valor de un Array "con comodin"

El valor de la clave de ese Array puede ser "0" o "1" y me gustaria modificarlo para que cuando el valor es "1" salga una imagen y cuando es "0" aparezca otra distinta. Para dicha tarea he creado el siguient codigo:
Código:
       if ($reg{$campos_cat[2]} == 1)
	{
	  $reg{$campos_cat[2]} = "<img border=\"0\" src=\"imatges/actiu.gif\">";
	}
	else
		{
	  $reg{$campos_cat[2]} = "<img border=\"0\" src=\"imatges/inactiu.gif\">";
	}
Mis pocos conocimientos de PHP me dicen que es correcto pero no funciona.
Si uso
Código:
 if ($reg{$campos_cat[2]} == 1)
	{
	  $reg{$campos_cat[2]} = "<img border=\"0\" src=\"imatges/actiu.gif\">";
	}
Cambia el "1" por la imagen donde corresponde i deja el "0" en el resto, pero a la que añado el ELSE... lo interpreta todo como si el valor fuera "0".

Alguien sabe porque y que solución tiene?
Gracias
  #2 (permalink)  
Antiguo 01/08/2006, 07:48
Avatar de da2
da2
 
Fecha de Ingreso: abril-2003
Ubicación: Catalunya
Mensajes: 239
Antigüedad: 20 años, 11 meses
Puntos: 0
Bueno esperando la respues he ido haciendo inventos y finalment me ha funcionado.
Yo había metido el código del condicional dentro del código que usaba para imprimir en pantalla los resultados (dentro de un for)
Código:
for ($i=0; $i<count($reg); $i++) {

      echo "<td>", $reg{$campos_cat[$i]}, "</td>";
    }
    echo "</tr>";
    $cont_lineas++;
  }
Y al parecer (aun no se porque ) tenia que ir dentro del WHILE pero fuera del FOR
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 08:03.