each()
Introducción
Como desarrollador de PHP, es fundamental comprender las diversas funciones de array que ofrece PHP. Una de ellas es la función each(), que históricamente se utilizaba para iterar sobre cada elemento de un array y devolver el par clave-valor. Nota: each() fue marcada como obsoleta en PHP 7.2 y completamente eliminada en PHP 8.0. Este artículo explica su comportamiento heredado, sintaxis y parámetros, y proporciona alternativas modernas.
Sintaxis
La sintaxis de la función each() es la siguiente:
Sintaxis de la función Each() en PHP
each(array $array): array|falseLa función each() toma un array como parámetro y devuelve un array o false en caso de error.
Parámetros
La función each() solo toma un parámetro, que es un array. El array puede ser indexado o asociativo. En el caso de un array indexado, las claves serán los enteros que comienzan desde 0, y en el caso de un array asociativo, las claves serán las que se asignan a cada elemento.
Uso
La función each() se utiliza para iterar sobre cada elemento de un array y devolver el par clave-valor. Esta función puede utilizarse con arrays indexados y asociativos. Cada llamada a each() avanza el puntero interno del array. La función each() devuelve un array que contiene cuatro elementos: índices numéricos 0 y 1 (alias para la clave y el valor), e índices de cadena key y value.
A continuación se muestra un ejemplo de cómo utilizar la función each():
Ejemplo de cómo usar la función each() en PHP
<?php
// Legacy PHP 7.x example. This will cause a fatal error in PHP 8.0+.
$array = ["one" => 1, "two" => 2, "three" => 3];
while ($element = each($array)) {
echo $element['key'] . ' => ' . $element['value'] . '<br>';
}En el ejemplo anterior, primero definimos un array asociativo con tres pares clave-valor. Luego, utilizamos la función each() para iterar sobre cada elemento del array y devolver el par clave-valor. Finalmente, usamos un bucle while para imprimir cada par clave-valor.
Equivalente moderno en PHP 8+ Dado que each() ya no está disponible, utilice foreach para iterar sobre arrays:
<?php
$array = ["one" => 1, "two" => 2, "three" => 3];
foreach ($array as $key => $value) {
echo $key . ' => ' . $value . '<br>';
}Diferencias entre each() y otras funciones de array similares
La función each() es similar a otras funciones de array como foreach(), array_walk() y array_map(). Sin embargo, existen algunas diferencias entre estas funciones:
foreach()itera sobre cada elemento de un array y asigna el valor a una variable. No modifica el puntero interno del array y es el enfoque moderno recomendado.array_walk()yarray_map()se utilizan para iterar sobre un array y aplicar una función definida por el usuario a cada elemento. No devuelven el par clave-valor como lo hace la funcióneach().
Estado heredado y alternativas modernas
La función each() está marcada como obsoleta y eliminada en las versiones modernas de PHP. Ya no se recomienda su uso. La construcción de lenguaje foreach es la alternativa estándar, más segura y con mejor rendimiento para iterar sobre arrays en PHP 8+.
Conclusión
En conclusión, la función each() fue históricamente útil para que los desarrolladores de PHP iteraran sobre cada elemento de un array y devolvieran el par clave-valor. Sin embargo, debido a su eliminación en PHP 8.0, los desarrolladores deben utilizar foreach para todas las tareas modernas de iteración sobre arrays.
Práctica
¿Qué es correcto sobre la función each() en PHP según el contenido de la URL proporcionada?