PHP array_values
Esta función de PHP array_values devolverá todos los valores del array en un array indexado
Description / Descripciónarray_values(array $array): arraySintaxis / Sintax
$iarray = array_values($array_to_be_processed);
Parámetro
$array
– es el array del que obtendremos sus valores, puede ser un array asociativo. De hecho es en la situación en la que la función tiene sentido.
Retorno
Array indexado que contiene los valores del array anterior
Ejemplo de PHP array_values
$caracteristicas_auto = [ "marca" => "Toyota", "modelo" => "Camry", "año" => 2022, "color" => "Azul", "motor" => "2.5L", "tracción" => "Delantera" ]; var_dump(array_values($caracteristicas_auto));
array(6) { [0]=> string(6) "Toyota" [1]=> string(5) "Camry" [2]=> int(2022) [3]=> string(4) "Azul" [4]=> string(4) "2.5L" [5]=> string(9) "Delantera" }
Uso
Recordemos que array_values obtiene los valores dentro de un array, por tanto, puede sernos útil en otras circunstancias como pueden ser: reindexar un array, convertir un array asociativo a un array indexado, Preparar datos para JSON
Re-indexación
¿Por qué deberíamos utilizar array_values para la indexación? Bueno vea el siguiente ejemplo
array no Reindexado$array = array(0 => 'Nahuel', 1 => 'Rocko', 2 => 'Jhon', 3 => 'Rico'); unset($array[1]); var_dump($array);
array(3) { [0]=> string(6) "Nahuel" [2]=> string(4) "Jhon" [3]=> string(4) "Rico" }
En cambio, si utilizamos array_values tendremos el índice de manera correcta:
Ejemplo de re indexacion$array = array(0 => 'Nahuel', 1 => 'Rocko', 2 => 'Jhon', 3 => 'Rico'); unset($array[1]); $array= array_values($array); var_dump($array);
array(3) { [0]=> string(6) "Nahuel" [1]=> string(4) "Jhon" [2]=> string(4) "Rico" }
Preparar data para una plantilla
Puedes utilizar array_values y luego la función list para luego imprimir los valores utilizando un heredoc o simplemente echo para hacer una plantilla antes de mostrar en pantalla.
Puedes ver como usar list en el siguiente enlace https://blastcoding.com/php-list/
Preparar datos para JSON
Puede que tengas que preparar datos para un JSON, aunque por lo general se usa el array tal cual está creando un objeto JSON, por otro lado, si aplicamos la función array_values tendremos un array indexado y, por tanto, creará un array JSON
Preparando datos para hacer un arreglo JSON$associativeArray = array('uno' => 1, 'dos' => 2, 'tres' => 3); $indexedArray = array_values($associativeArray); $json = json_encode($indexedArray);
En general esto no es necesario, ya que mayormente se utiliza un objeto JSON
Esta entrada está basada en la documentación original en ingles https://www.php.net/manual/en/function.array-values.php