Foros del Web » Programando para Internet » PHP »

sentencia foreach

Estas en el tema de sentencia foreach en el foro de PHP en Foros del Web. hola foro, leyendo unos articulos encontre esta sentencia y esta explicación foreach(expresion_array as $value) sentencia foreach(expresion_array as $key => $value) sentencia La primera forma recorre ...
  #1 (permalink)  
Antiguo 24/01/2010, 20:42
Avatar de Lizy94  
Fecha de Ingreso: diciembre-2009
Mensajes: 149
Antigüedad: 14 años, 4 meses
Puntos: 0
sentencia foreach

hola foro, leyendo unos articulos encontre esta sentencia y esta explicación

foreach(expresion_array as $value) sentencia
foreach(expresion_array as $key => $value) sentencia
La primera forma recorre el array dado por expresion_array. En cada iteración, el valor del elemento actual se asigna a $value y el puntero interno del array se avanza en una unidad (así en el siguiente paso, se estará mirando el elemento siguiente).

La segunda manera hace lo mismo, salvo que la clave del elemento actual será asignada a la variable $key en cada iteración.



....Lo que no entiendo en la segunda manera si la clave del elemento es asignada a key entonces para que sirve tener a la variable $value
  #2 (permalink)  
Antiguo 24/01/2010, 21:50
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: sentencia foreach

Para mi lo mejor es un ejemplo, ejecuta esto:

Código PHP:
Ver original
  1. $a = array(
  2.     "Dia" => 5,
  3.     "Mes" => 12,
  4.     "Ano" => 2010,
  5.     "Siglo" => 21
  6. );
  7.  
  8. foreach ($a as $v) {
  9.     echo "$v <br>";
  10. }

Y luego esto:

Código PHP:
Ver original
  1. $a = array(
  2.     "Dia" => 5,
  3.     "Mes" => 12,
  4.     "Ano" => 2010,
  5.     "Siglo" => 21
  6. );
  7.  
  8. foreach ($a as $k => $v) {
  9.     echo "$k - $v <br>";
  10. }



Como veras en el primer codigo guardamos el valor en $v y listo, pero... ¿y si la 'key' del array la necesitaramos para algo por ejemplo mostrarla? Pues para eso esta el segundo codigo, para hacer el bucle tanto con el valor ($v) como el nombre de la 'key' o como se llame xD ($k)
  #3 (permalink)  
Antiguo 25/01/2010, 01:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sentencia foreach

Cita:
Iniciado por Lizy94 Ver Mensaje
[...] Lo que no entiendo en la segunda manera si la clave del elemento es asignada a key entonces para que sirve tener a la variable $value
es simple, se define la clave y valor solo si utilizas ambos...

osea... si solo necesitas el valor, no es necesaria la clave del índice... pero a lo mejor necesitas de los dos datos, y para escribir menos se facilita dicha sentencia
Código PHP:
// forma "larga"
foreach (array_keys($array) as $key)
{
  
$value $array[$key];
  echo 
"$key - $value<br />";
}

// forma abreviada
foreach ($array as $key => $value)
{
  echo 
"$key - $value<br />";

si lo piensas, es una forma mas natural de acceder a ambos valores...

lee, analiza y reflexiona... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: foreach, sentencia
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:56.