Duda sobre Arreglos PHP.

Iniciado por mokoMonster, 20 Marzo 2010, 00:13 AM

0 Miembros y 1 Visitante están viendo este tema.

mokoMonster

Hola a todos!
     
     Bueno, ando leyendo el libro de PHP y MySQL para Dummies ya que de verdad es muy bueno; pero me surgio algo que no entiendo del todo, es acerda de Arreglos PHP (Para quienes lo tienen vease la Pag. 155 del Capitulo 7 en la parte 3) ya lo he leido 3 veces pero me he perdido... Esta parte menciona que los arreglos PHP almacenan un grupo de valores en una sola variable, hasta aqui vamos bien, pero mas adelante, en la Pag. 161 da un ejemplo con $infocamisa el cual posterior mente ingresa 2 nuevas variables: $primervalor,$segundovalor; hasta aqui tambien vamos bien.. pero mas adelante en la pag. 163 da un ejemplo que utiliza foreach:


$capitales = array ( "CA" => "Sacramento", "TX" => "Austin", "OR" => "Salem" );
ksort($capitales);
foreach($capitales as $estado => $ciudad)
{
    echo "$ciudad, $estado<br>";
}


lo que no entiendo es como es que salieron las variables $estado y $ciudad..
Lo que deduzco es que foreach las creo, pero no se si estoy en lo correcto, y si es asi - o no - porque dentro del enunciado foreach esta usando " => " entre las variables?

Espero me puedan ayudar un poco con esto.
Les dejo aqui un link con el libro que en lo personal recomiendo ampliamente para los que no saben nada de PHP.

http://www.megaupload.com/?d=HH2E15EA
Pass: www.utopilandia.co.cc
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

b10s_0v3rr1d3

en el foreach, indica que para el array "$capitales" hay las variables "$estado" que es la key (en los valores seria CA/TX/OR) y "$ciudad" (que son los valores a los que perteneceria cada clave/key del array).
el "simbolo" [=>] indica que la clave del array (en este caso los comentados anteriormente "CA/TX/OR") son asignados cada vez a la variable "$estado".
la variable "$ciudad" contiene los valores del array, no las claves
no se si la explicacion se entendio mucho como lo dije......

mokoMonster

Bueno, lo que entiendo es que el foreach si le asigna los valores a $estado y $ciudad y ya que CA/TX/OR son claves y entonces a cada clave se le asigna un valor, en este caso $ciudad..
Pero entonces si, por ejemplo..
Si el array estubiera asi:
$capitales = array ( "Sacramento" => "CA", "Austin" => "TX", "Salem" => "OR" );
entonces $estado corresponderia a Sacramento, Austin y Salem?

Se que no son los estados, pero me refiero a los valores de las variables, mejor dicho, me refiero a el orden en que se le asignan los valores a las variables.. no se si me explico..
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

~ Yoya ~

En varios lenguajes son llamados hashes(hash), su función es simple.
Los hashes constan de dos elementos:
La llaves y su valores. Para llamar un valor es necesario llamar su llave, ejemplo:
saludo => Hello
Si quiero llamar el valor Hello, tengo que llamar su llave que es la que representa el valor.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

mokoMonster

Bueno, creo que mi duda quedo resuelta.
Muchas Gracias :D
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange