Mi matriz se ve así:claves de matriz PHP reordenar
array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
¿Cómo puedo cambiar el orden de las claves por lo que irá como 0, 1, 2, 3, 4
?
Mi matriz se ve así:claves de matriz PHP reordenar
array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
¿Cómo puedo cambiar el orden de las claves por lo que irá como 0, 1, 2, 3, 4
?
Uso array_values:
$reindexed_array = array_values($old_array);
Mediante el uso de sort($array);
documentación Ver here PHP.
Recomendaría sort
sobre array_values
ya que no creará una segunda matriz. Con el siguiente código, ahora tiene dos matrices que ocupan espacio: $ reindexed_array y $ old_array. Innecesario.
$reindexed_array = array_values($old_array);
¿Cómo está mi respuesta incorrecta? ordenar volverá a activar la clave y ordenar la matriz, como él ha pedido. – Rawkode
parece hacer bien el trabajo – fxuser
@Rawkode ¿por qué array_values crea otra matriz si hago array_values () la matriz actual? parece que funciona de esa manera también – fxuser
array_splice($old_array, 0, 0);
No clasificará matriz y no va a crear una segunda matriz
Simple y perfecto, ya que no crea una segunda matriz y no modifica el orden de los valores ... ¡thx! –
array_splice($jam_array, 0, count($jam_array));
Para ordenar un arreglo al que le faltan los índices intermedios, con cuenta el orden i es más seguro Entonces 0
es el primer índice y count($jam_array)
o sizeof($jam_array)
devuelve la posición decimal de la matriz, a saber, el último índice.
¡perfecto! parece hacer el trabajo – fxuser
valores de matriz, aunque son válidos, no es lo que recomendaría. Internamente, llama al constructor de la matriz y devuelve una nueva matriz. usar sort es por lo tanto (marginalmente) más rápido, y más corto para escribir, también –
no necesito usar otra matriz ... simplemente array_values () la actual – fxuser