Foros del Web » Programando para Internet » PHP »

Problema tema de valores y arrays

Estas en el tema de Problema tema de valores y arrays en el foro de PHP en Foros del Web. Tengo este código : Código PHP: <?php $adm [ 'web' ]= "www.tuweb.com" ; $adm [ 'titulo' ]= "Mi título web" ; $campos =array( "adm[web]" , "adm[titulo]" ); ...
  #1 (permalink)  
Antiguo 29/02/2012, 18:50
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Exclamación Problema tema de valores y arrays

Tengo este código :


Código PHP:

<?php

$adm
['web']="www.tuweb.com";
$adm['titulo']="Mi título web";





$campos=array("adm[web]","adm[titulo]");


for (
$i=0;$i<count($campos);$i++)
{


// Quiero que tome los valores de cada campo , se supone que $campos[$i] , equivale al nombre de cada campo arriba , $adm['web'] , etc///

print "".${$campos[$i]}.""


}


?>




El caso es que intento que tome los valores como si pusiese directamente print $adm['web'] , esto lo estoy haciendo para integrarlo en una función y con dos lineas que tire un formulario entero captando los valores , pero algo me falla y no me muestra el valor dado de cada campo , a ver si me pueden indicar algo , saludos a todos , muchas gracias
  #2 (permalink)  
Antiguo 29/02/2012, 19:12
Avatar de jmacc  
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 94
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: Problema tema de valores y arrays

Bueno de entrada repasa mas sobre arrays hay pequeños detalles que estas omitiendo.
[URL="http://php.net/manual/es/language.types.array.php"]Arrays[/URL]
Idea =>Analizalo con calma.
  #3 (permalink)  
Antiguo 29/02/2012, 19:17
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema tema de valores y arrays

Definitivamente no entiendo que quieres hacer, no te basta con un foreach?

Código PHP:
Ver original
  1. <?php
  2.  
  3. $adm['web']="www.tuweb.com";
  4. $adm['titulo']="Mi título web";
  5.  
  6. foreach ($adm as $c => $v) {
  7.     echo "$c => $v <br >";
  8. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 29/02/2012, 19:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Problema tema de valores y arrays

El tema de poner los nombres de los campos en un array es para generar un formulario en el aire

Se pondrán esos nombres y con una función se generará para cada nombre un campo de texto , cada campo de texto tendrá un name y un value como todos , el caso es que el name viene dado evidentemente por el array que denominamos campo y los valores vienen dados con un include

El tema es que como en el array , los campos y su nombre es el mismo que lo que viene en el include , se quiere que se tome el valor por el name si el campo se llama $adm[nombre] , el valor igualmente tendrá que tomarse como con ese nombre , en muchos casos se ponen dobles $$ en otros se usa ${} , esto es lo que necesito conseguir ese valor por el nombre del campo desde el array , teniendo en cuenta que el valor ya va en el include si te fijas (valores superiores del ejemplo ) , Saludos
  #5 (permalink)  
Antiguo 29/02/2012, 20:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Exclamación Respuesta: Problema tema de valores y arrays

Simplemente necesito qeu como veís en el script :


Código PHP:


$adm
['web']="www.tuweb.com"
$adm['titulo']="Mi título web"





$campos=array("adm[web]","adm[titulo]"); 


for (
$i=0;$i<count($campos);$i++) 



// Quiero que tome los valores de cada campo , se supone que $campos[$i] , equivale al nombre de cada campo arriba , $adm['web'] , etc/// 

print "".${$campos[$i]}."";  





?> 




Que dentro del bucle print "".${$campos[$i]}.""; , tome los valores arriba puesto de $adm['web'] , etc .....


Saludos
  #6 (permalink)  
Antiguo 29/02/2012, 20:42
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema tema de valores y arrays

Esto es lo que quieres?

Código PHP:
Ver original
  1. <?php
  2.  
  3. $adm['web'] = "www.tuweb.com";
  4. $adm['titulo'] = "Mi título web";
  5. $adm['test'] = "test";
  6.  
  7. $campos = array("web", "titulo");
  8.  
  9. foreach ($campos as $c) {
  10.     echo "$adm[$c] <br />";
  11. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 29/02/2012, 20:56
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Exclamación Respuesta: Problema tema de valores y arrays

Va acercándose , ante todo gracias por colaborarme en este pequeño script

Te dejo un poco más detallado el tema :


Código PHP:

<?php
$adm
['web']="www.tuweb.com";
$adm['titulo']="Mi título web";

/*
Son los campos de texto a generar
*/
$campos=array("adm[web]","adm[titulo]");


for (
$i=0;$i<count($campos);$i++)
{

/*
Aquí es donde surge el problema pues se intenta conseguir el value="" al ser 
en el include los valores igual al nombre del campo , para que salga , pero no sale 
el value siempre sale vacio , necesito hacerlo así con el bucle for y utilizando los campos
*/

echo '<input type="text" name="'.$campos[$i].'" value="'.${$campos[$i]}.'">';

}
?>

El tema es conseguir el value en cada campo utilizando la estructura del script pero no entiendo porque no pilla los valores , en teoria con ${} debería obtenerse



Saludos
  #8 (permalink)  
Antiguo 29/02/2012, 21:03
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema tema de valores y arrays

Las variables variables son para otras cosas, si ya tienes un array haces uso de este y ya (No sé para que te complicas). Algo así:

Código PHP:
Ver original
  1. <?php
  2. $adm['web'] = "www.tuweb.com";
  3. $adm['titulo'] = "Mi título web";
  4. $adm['test'] = "test";
  5.  
  6. $campos = array("web", "titulo");
  7.  
  8. foreach ($campos as $c) {
  9. ?>
  10.  
  11. <input type="text" name="<?php echo $c ?>" value="<?php echo $adm[$c] ?>" />
  12.  
  13. <?php } ?>
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 29/02/2012, 21:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Problema tema de valores y arrays

Si , muchas gracias , pero quería saber como podía manejar el tema como lo tenía puesto y saber por que no funcionaba , para mi que debería de funcionar pero no se por que no va al fin y al cabo llama al campo con el nombre , por eso me quedaba esa duda .....

Así al entenderlo podría aplicar esto a otras cosas , pero tu ejemplo está super bien también y te lo agradezco mucho , no obstante es eso como te comentaba , quería saber que estaba mal en lo que había hecho , saludos
  #10 (permalink)  
Antiguo 29/02/2012, 21:19
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema tema de valores y arrays

El problema es que no puedes pasar los valores así: adm[web] porque esa variable no existe. No toma en cuenta los índices.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #11 (permalink)  
Antiguo 29/02/2012, 21:29
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Problema tema de valores y arrays

Sin embargo si pasamos la variable , por un suponer si fuese adm_web y pongo ${$adm_web} si funciona pero el fallo viene dado por poner en un array , es decir como $adm['web'] , eso es lo que no se porque fallará , si se hace sin [] si funciona con [] para cada campo no va
  #12 (permalink)  
Antiguo 29/02/2012, 21:44
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema tema de valores y arrays

Pues entiende que NO reconoce los índices de esa manera, sirve para que a partir de un string armes una variable variable.

Puedes llegar a esto:

Código PHP:
Ver original
  1. <?php
  2. $adm['web'] = "www.tuweb.com";
  3. $adm['titulo'] = "Mi título web";
  4.  
  5. $variable = 'adm';
  6.  
  7. echo ${$variable}['web'];

Pero como te dije, no puedes pasar índices de esa manera porque ese no es el nombre de la variable. La variable (array) se llama adm no adm[web]
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: arrays, formulario, tema
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 22:19.