Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished | checked

PHP array_​values

Esta función de PHP array_values devolverá todos los valores del array en un array indexado

Description / Descripción
array_values(array $array): array
Sintaxis / 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

Category: php
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category