Con foreach
Si tienes un arreglo de este tipo:
$array = array(1, 2, 3, 4);
Lo puedes recorrer así:
foreach ($array as $valor) {
echo "Valor: $valor<br />\n";
}
Si deseas ver el número de la clave:
foreach ($array as $clave => $valor) {
echo "Clave: $clave; Valor: $valor<br />\n";
}
Con while
Es para cuando sabes el número de veces que quieres recorrer el arreglo:
$i = 1;
while ($i <= 10){
echo $i;
$i++;
}
Un solo resultado: Con list() y mysql_fetch_row()
Alguna vez te puede ocurrir que sea una consulta MYSQL con un sólo resultado.
En ese caso puedes usar list() y mysql_fetch_row() para obtener ese único resultado:
$sql = "SELECT email FROM usuarios WHERE id = 10";
$resultado = mysql_query($sql,$link);
$num = mysql_num_rows($resultado);
//Si sólo hay un email
if($num == 1){list($email_de_cliente) = mysql_fetch_row($resultado);}
echo "El email del clientes es: $email_de_cliente";
Con varios registros en el resultado:
while($row = mysql_fetch_array($resultado )){
echo $row['email'];
}
Contando repeticiones en un array:
Si tienes un arreglo como este:
$array = array("ACCESOPERU.COM", "ACTIVATUHOSTING.COM",
"AREADESOPORTE.COM", "ACTIVATUHOSTING.COM",
"ACTIVATUHOSTING.COM", "AREADESOPORTE.COM");
Puedes usar la función array_count_values para contar los valores repetidos. Ejemplo:
echo "<pre>";
print_r(array_count_values($array));
echo "</pre>";
El resultado será:
Array
(
[ACCESOPERU.COM] => 1
[ACTIVATUHOSTING.COM] => 3
[AREADESOPORTE.COM] => 2
)
Reordenar aleatoriamente un array:
Para eso puedes usar shuffle().
Y para obtener el primer elemento ordenado aleatoriamente current():
shuffle($array);
$primer_elemento_aleatorio = current($array);
Más sobre current() click aquí.
Dividir un array en subarrays:
Para eso puedes usar array_chunk:
$array_en_pares = array_chunk($array, 2);
En este caso el 2 indica que se dividirá el array en sub arrays de 2 elementos.
Borrar un elemento de un array:
Para eso puedes usar unset:
unset($array[2]);
En este caso borra el tercer elemento del array.
Borrar ÚLTIMO elemento de un array:
Para eso puedes usar array_pop:
$ultimo_elemento = array_pop($array);
En este caso el array pierde el último elemento y ese elemento es asignado a $ultimo_elemento.