Foros del Web » Programando para Internet » PHP »

No me funciona Array de Keys

Estas en el tema de No me funciona Array de Keys en el foro de PHP en Foros del Web. Hola a todos, Tengo el siguiente problema: En un array tengo almacenadas las claves de otro array: Ej: $array_key = ('nombre','apellido','cedula'); tengo otro array de ...
  #1 (permalink)  
Antiguo 04/01/2013, 15:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 9 meses
Puntos: 0
No me funciona Array de Keys

Hola a todos,

Tengo el siguiente problema:

En un array tengo almacenadas las claves de otro array:


Ej: $array_key = ('nombre','apellido','cedula');


tengo otro array de la siguiente manera:


$array_datos =('nombre' => 'juan', 'apellido' => 'perez', 'cedula' => '10')


Y necesito usarlas de la siguiente forma:


$array_datos[$array_key[0]];


Pero me esta arrojando un error es como si no reconociera la clave: $array_key[0],

Si lo uso de manera directa o en una variable funciona: $array_datos["nombre"] me devuelve el valor requerido.

He buscado información pero no encuentro nada al respecto, agradezco en lo que me pueda ayudar.

Att,


OSCAR QUINTERO
  #2 (permalink)  
Antiguo 04/01/2013, 15:42
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: No me funciona Array de Keys

Código PHP:
Ver original
  1. $array_key = array('nombre','apellido','cedula');
  2. $array_datos = array('nombre' => 'juan', 'apellido' => 'perez', 'cedula' => '10');
  3.  
  4. echo $array_datos[$array_key[0]];

Esto me imprime Juan, ¿Estás seguro que no funciona?
__________________
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
  #3 (permalink)  
Antiguo 04/01/2013, 15:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: No me funciona Array de Keys

Gracias por responder,

Este es el dump de mi array:

array(5) { ["CODIGO"]=> string(4) "1200" ["NOMBRE"]=> string(6) "CENTRO" ["UCG"]=> string(1) "1" ["LOC"]=> string(2) "LH" ["AREA_HA"]=> string(9) "529295.05" }

Y tengo un string que luego lo transfromo en un array:

$campos = "CODIGO | REF,
NOMBRE | NMG,
BARRIO | BARRIO,
AREA_M2 | AREA";

Lo transformo en array:

$fshow = explode('|',$campos);

Y luego llamo de la siguiente manera:

echo $data[$fshow[0]];

Pero me arroja vacio.

Si lo escribo:

echo $data["NOMBRE"];

Me imprime el valor correspondiente.

Gracias nuevamente.
  #4 (permalink)  
Antiguo 04/01/2013, 16:02
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: No me funciona Array de Keys

Estás usando mal el explode, mira el resultado de tu array $fshow al usar print_r:

Cita:
Array
(
[0] => CODIGO
[1] => REF,
NOMBRE
[2] => NMG,
BARRIO
[3] => BARRIO,
AREA_M2
[4] => AREA
)
Por esto no te reconoce el nombre. Estás separando el |, pero te estás olvidando de las comas.

Saludos.
__________________
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
  #5 (permalink)  
Antiguo 04/01/2013, 17:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: No me funciona Array de Keys

ok es cierto, pero en este caso omiti decirle que estoy haciendo explode que separa las comas,

De todas maneras si imprimo:

echo $fshow[0];

Me imprime: NOMBRE

Le agradezco en lo que me pueda ayudar.
  #6 (permalink)  
Antiguo 04/01/2013, 17:18
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: No me funciona Array de Keys

Prueba este ejemplo que hice. Tu cadena tiene saltos de línea, espacios y tabulaciones que también debes eliminar para que te funcione la clave. En este caso usé str_replace para esto:


Código PHP:
Ver original
  1. <?php
  2.  
  3. $data = array("CODIGO" => "1200", "NOMBRE" => "CENTRO", "UCG" => "1", "LOC" => "LH",
  4. "AREA_HA" => "529295.05");
  5.  
  6. $campos = "CODIGO | REF,   
  7. NOMBRE  | NMG,
  8. BARRIO  | BARRIO,
  9. AREA_M2 | AREA";
  10.  
  11. $campos = str_replace(array(',', ' ', PHP_EOL, "\t"), array('|', '', '', ''), $campos);
  12.  
  13. $fshow = explode('|', $campos);
  14.  
  15. echo $data[$fshow[2]]; //CENTRO
__________________
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 04/01/2013, 20:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: No me funciona Array de Keys

Voy a revisar y ya le cuento, gracias

Etiquetas: keys, variables
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 09:00.