Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda en PHP con array asociativo

aioros.02

Bovino maduro
Desde
28 Ago 2008
Mensajes
183
que tal compañeros, recurro a ustedes debido a una duda un tanto básica pero a la cual no he encontrado una respuesta clara.
necesito un array asociativo en php
ej.
$arreglo = array("clave" => "valor")
pero que se cree de manera dinámica, todos los ejemplos que he visto los crean de manera estática, lo que yo necesito es crearlo en un ciclo... es decir de manera dinámica... la clave y valor los cargo de una BD.

El codigo que tengo es este:
Tengo dos arreglos indexados $ciudades y otro $codigoPostal lo que quiero es unir estos dos array un uno solo pero que sea asociativo (ambos array tiene el mismo numero de elementos), había hecho esto:

for ($i=1; $i<=count($ciudades); $i++){
$asociativo = array($ciudades[$i] => $codigoPostal[$i]);
}

pero la lógica esta mal por que estoy creando un array cada vez que paso por el ciclo, intente crear el array afuera del ciclo pero de esa manera no puedo utilizar el operador "=>" me marca error

Gracias por su ayuda.
 
pues si ya tienes el ejemplo en forma estatica..
nada mas sustituye los valores por variables..
 
nean_degor gracias pero el punto es que tengo dos arreglos indexados $ciudades y otro $codigoPostal lo que quiero es unir estos dos array un uno solo pero que sea asociativo (ambos array tiene el mismo numero de elementos), habia hecho esto:

for ($i=1; $i<=count($ciudades); $i++){
$asociativo = array($ciudades[$i] => $codigoPostal[$i]);
}

pero la logica esta mal por que estoy creando un array cada vez que paso por el ciclo, intente crear el array afuera del ciclo pero de esa manera no puedo utilizar el operador "=>" me marca error... alguna sugerencia. Gracias.
 
Si entendi bien lo que quieres hacer es esto:

for ($i=1; $i<=count($ciudades); $i++){
$asociativo[$ciudades[$i]] = $codigoPostal[$i];
}

Y te crea el array asociativo donde las claves son los nombres de las ciudades y el valor los codigos
 
ahi ve va carnalito la respuesta es sencilla:
tienes que generar un array que tenga el indice de la ciudad

anexo ejemplo completo
$ciudades=array ("uno","dos","tres");
$codigos= array("20","30","40");

for($x=0; $x<sizeof($codigos);$x++)
$nuevo[][$ciudades[$x]]=$codigos[$x];

print_r($nuevo);

despliega
Array ( [0] =>
Array ( [uno] => 20 )
[1] =>
Array ([dos] => 30 )
[2] =>
Array ([tres] => 40 )
)

espero te sea de utilidad
 
Gracias!!! juandej18 me ha funcionado para lo que buscaba hacer... Muchas gracias.
 
yo hubiera hecho algo asi y te hubiera dado el mismo resultado que el amigo de arriba

$ciudades = array(1 => 'uno','dos','tres');
$cp = array(1 => 10,20,30);

for($i = 1; $i <= count($cp); $i++)

echo $ciudades[$i] . '<br>';
 
No entiendo porque se complican tanto, pej. si tienes una bd con dos tablas una que contiene las ciudades y otra los codigos postales puede hacer un inner join a ambas tablas y mandar el resultado a php con las ciudades asociadas a su codigo postal, en php lo imprimes directo sin estar creando matrices asociativas ni nada.

lo siento no lei bien no estan utilizando bases de datos, me disculpo,en ete caso a poyo la dorma de juandej18 que es la mas facil y entendible.
 
Volver
Arriba