Foros del Web » Programando para Internet » PHP »

Cambiar indice numerico a asociativo en array tridimensional

Estas en el tema de Cambiar indice numerico a asociativo en array tridimensional en el foro de PHP en Foros del Web. Hola, he intentado hace esto pero me parece que no se puede: <? $ejemplo = array( array ( array("a"), array("b"), array("c") ), array ( array("d"), ...
  #1 (permalink)  
Antiguo 05/02/2011, 14:16
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años
Puntos: 0
Cambiar indice numerico a asociativo en array tridimensional

Hola, he intentado hace esto pero me parece que no se puede:

<?

$ejemplo = array( array ( array("a"),
array("b"),
array("c")
),
array ( array("d"),
array("e"),
array("f")
),
array ( array("g"),
array("h"),
array("i")
)
);
echo $ejemplo[0][1][0];//imprime b
//Ahora lo cambiamos
$ejemplo[0]="uno";
//veremos a ver si imprime otra vez b
echo $ejemplo["uno"][1][0];
//no imprime b por segunda vez



?>

o si se puede?
  #2 (permalink)  
Antiguo 05/02/2011, 14:23
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Esto no tiene lógica, porque aquí:

Código PHP:
Ver original
  1. echo $ejemplo["uno"][1][0];

Le estás pidiendo un [índice] que no existe.

Saludos
  #3 (permalink)  
Antiguo 05/02/2011, 14:25
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Código PHP:
echo $ejemplo[0][1][0];//imprime b
//Ahora lo cambiamos
$ejemplo[0]="uno";
//veremos a ver si imprime otra vez b
echo $ejemplo["uno"][1][0];
//no imprime b por segunda vez 
Claro que no lo imprime, porque no estas cambiandole el nombre al KEY, sino sobreescribiendo TODA la matriz. Sobreescribiste TODA una matriz con un simple valor.
  #4 (permalink)  
Antiguo 05/02/2011, 15:52
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años
Puntos: 0
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Entonces le puedo cambiar el nombre al key?
Gracias
  #5 (permalink)  
Antiguo 05/02/2011, 22:36
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Tal vez probando esto lo veas mas claro.

Código PHP:
<?php
$ejemplo 
= array(
    array(
        array(
"a"),
        array(
"b"),
        array(
"c")
        ),
    array(
        array(
"d"),
        array(
"e"),
        array(
"f")
    ),
    array(
        array(
"g"),
        array(
"h"),
        array(
"i")
    )
);
print_r($ejemplo);
?>
El numero que aparece es la key(llave) para ingresar al valor de ese miembro del array, tal como te lo explicaron arriba. Y si, esa key se puede cambiar.

Código PHP:
<?php
$ejemplo2 
= array(
    
"abc" => array(
        array(
"a"),
        array(
"b"),
        array(
"c")
        ),
    
"def" => array(
        array(
"d"),
        array(
"e"),
        array(
"f")
    ),
    
"ghi" => array(
        array(
"g"),
        array(
"h"),
        array(
"i")
    )
);
print_r($ejemplo2);
?>
Ahora, $ejemplo2[0], donde [0] es la key (llave o indice), pasa a ser $ejemplo2['abc'];


$ejemplo2[1] => $ejemplo2['def']
$ejemplo2[2] => $ejemplo2['ghi']

Última edición por jonasanx; 05/02/2011 a las 22:44
  #6 (permalink)  
Antiguo 06/02/2011, 07:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Cita:
Iniciado por nEAnnam Ver Mensaje
Entonces le puedo cambiar el nombre al key?
Gracias
Guarda el array en una variable, y luego reemplaza y dale el valor.
Revise todas las funciones de matrices, pero no hay funcion para hacerlo directamente, asi que tendras que hacerlo de la forma que te dije.
  #7 (permalink)  
Antiguo 06/02/2011, 09:15
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Cita:
Iniciado por nEAnnam Ver Mensaje
Entonces le puedo cambiar el nombre al key?
Gracias
Sí y no. Te pongo un ejemplo:

Código PHP:
<?

$ejemplo 
= array( array ( array("a"),
array(
"b"),
array(
"c")
),
array ( array(
"d"),
array(
"e"),
array(
"f")
),
array ( array(
"g"),
array(
"h"),
array(
"i")
)
);

//guardamos todo lo que haya en la key que queremos cambiar
$new $ejemplo[0];
//creamos una nueva key
$ejemplo["new"] = $new;
//borramos la key anterior
unset($ejemplo[0]);
unset(
$new);?>
Un saludo
  #8 (permalink)  
Antiguo 06/02/2011, 12:12
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años
Puntos: 0
Respuesta: Cambiar indice numerico a asociativo en array tridimensional

Muchismas Gracias a todos, me quedo muy claro
Gracias.

Etiquetas: multidimensional
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:39.