Foros del Web » Programando para Internet » PHP »

Array asociativo

Estas en el tema de Array asociativo en el foro de PHP en Foros del Web. Bueno, parece que tengo un problema fácil de resolver pero que por alguna razón yo no he sido capaz (ignorancia seguro) Tengo una estructura un ...
  #1 (permalink)  
Antiguo 17/01/2011, 10:33
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Exclamación Array asociativo

Bueno, parece que tengo un problema fácil de resolver pero que por alguna razón yo no he sido capaz (ignorancia seguro)

Tengo una estructura un array así:

Código PHP:

foreach ($obj as $objeto)
{
  
// Esto es lo que obtengo de recorrer $obj
  /*
  $objeto->CodCiudad;
  $objeto->NombreCiudad;
  $objeto->NombreDepartamento;
  */

Hasta ahí todo bien, ahora, requiero formar dos arreglos uno de ciudad y otro de departamentos, ambos el de ciudad y el de departamentos debe quedar con el mismo CodCiud.... así que intento algo como esto que no sé si está bien:

Código PHP:

foreach ($obj as $objeto)
{
  
// Esto es lo que obtengo de recorrer $obj
  /*
  $objeto->CodCiudad;
  $objeto->NombreCiudad;
  $objeto->NombreDepartamento;
  */

$ciudades[$objeto->CodCiudad] =  $objeto->NombreCiudad;
$departamentos[$objeto->CodCiudad] = $objeto->NombreDepartamento;


y luego? suponiendo que lo estoy haciendo bien, como recorreria esos array para que me de un resultado más o menos así:

$ciudades[16][Ciudad16];
$departamentos[16][Departamento16]



Gracias a tod@s...
  #2 (permalink)  
Antiguo 17/01/2011, 10:45
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Array asociativo

Con lo que tu estas haciendo devolveria algo así

$ciudades[16] = Ciudad16
$departamentos[16] = Departamento16
  #3 (permalink)  
Antiguo 17/01/2011, 10:48
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: Array asociativo

El asunto es que no me está devolviendo nada, o no sé como recorrerlo... entonces me queda la duda si realmente si estoy inicializando bien el array y si se está concatenando la información.
  #4 (permalink)  
Antiguo 17/01/2011, 10:52
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Array asociativo

La verdad no entiendo, con el foreach lo que estas haciendo es recorrerlo... muestranos el array como tal asi:

$miArray = array (
valor1->1,
valor2->2,
.
.
)
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 17/01/2011, 10:54
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Array asociativo

Una forma de comprobar si hay guardado es uno de estos codigos

Código PHP:
echo "<pre>";
var_dump($ciudades);
var_dump($departamentos);
echo 
"</pre>"
ó

Código PHP:
echo "<pre>";
print_r($ciudades);
print_r($departamentos);
echo 
"</pre>"
  #6 (permalink)  
Antiguo 17/01/2011, 10:55
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: Array asociativo

Lo probé así y con count

Código PHP:
echo $cantidad count($ciudades); 
Y definitivamente no llega nada... queda en 0 :(
  #7 (permalink)  
Antiguo 19/01/2011, 08:27
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Array asociativo

Pon otra vez el código que estas utilizando tal cual.
  #8 (permalink)  
Antiguo 19/01/2011, 09:20
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: Array asociativo

Okas, tengo esta estructura que recibo de un simpleXML

Código PHP:
SimpleXMLElement Object
(
    [
Ciudad] => Array
        (
            [
0] => SimpleXMLElement Object
                
(
                    [
CodCiudad] => 1
                    
[NombreCiudad] => CIUDAD 1
                    
[NombreDepartamento] => DEP 1
                
)

            [
1] => SimpleXMLElement Object
                
(
                    [
CodCiudad] => 16
                    
[NombreCiudad] => CIUDAD 16
                    
[NombreDepartamento] => DEP 2
                
)
 [
1163] => SimpleXMLElement Object
                
(
                    [
CodCiudad] => CIUDAD 974
                    
[NombreCiudad] => DEP 1
                    
[NombreDepartamento] => DEP 3
                
)

        )


Ahora, lo que requiero es recorrer esta estructura, y fomar dos arreglos, ciudades y departamentos.. donde el índce sea el que tiene ahi CodCiudad... ¿para que? para poder luego hacer unos combos autocompletables.

La estructura la que puse arriba la recorro asi:

Código PHP:
$obj simplexml_load_string($resultado);
/*Se imprime el objeto sin estructura xml*/
print_r($obj); 
Pero entonces de ahi, no sé como recorrerlo para crear los dos arreglos.
  #9 (permalink)  
Antiguo 19/01/2011, 09:25
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Array asociativo

Puedes poner como quedarían los dos arreglos una vez recorrido el objeto??
  #10 (permalink)  
Antiguo 19/01/2011, 12:31
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: Array asociativo

Los arreglos deberian quedar así:

Código PHP:
Ciudades [1] => CIUDAD 1
Departamentos 
[1] => DEP 1

Ciudades 
[16] => CIUDAD 16
Departamentos 
[161] => DEP 2

Ciudades 
[974] => CIUDAD 974
Departamentos 
[974] => DEP 3 
Entonces el indice en departamentos y ciudades deberia ser el mismo y el que ofrece la estructura...

Cómo lo dije en el post anterior, no sé como deberia estar iterando la estructura para poder generar los arreglos.
  #11 (permalink)  
Antiguo 20/01/2011, 01:55
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Array asociativo

Nunca vas a poder devolver eso, De dónde sacas que la ciudad "ciudad 974" tiene como codCiudad 974 si en el objeto pone que codCiudad es un string?? y de dónde sacas el código de los departamentos?? porque yo no lo veo en ningnu sitio.
  #12 (permalink)  
Antiguo 20/01/2011, 02:53
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Array asociativo

Quisas esto te pueda ayudar.

Código PHP:

<?php
$food 
= array('fruits' => array('naranja''plátano''manzana'),
              
'veggie' => array('zanahoria''col''guisante'));

// recursive count
echo count($foodCOUNT_RECURSIVE); // output 8

// normal count
echo count($food); // output 2

?>
  #13 (permalink)  
Antiguo 20/01/2011, 06:24
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: Array asociativo

Pero ahí en que parte irian los índices, que serian los identificadores... los id...

Etiquetas: Ninguno
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 04:26.