2011-09-26 22 views
95

tengo matriz que tuve que desarmar algunos índices por lo que ahora se ve comoPHP reindex array?

$myarray [0] a->1 
     [1] a-7 b->3 
     [3] a-8 b->6 
     [4] a-3 b->2 

como se puede ver [2] no se encuentra todo lo que necesita hacer es índices de reposición para que se muestren [0] - [3 ]

+0

Esto definitivamente no es un duplicado de [** ¿Cómo se REINDEX una matriz en PHP? **] (http://stackoverflow.com/questions/591094/how-do-you-reindex-an-array-in-php) Compartir una solución no establece la duplicidad. –

Respuesta

212

Uso array_values.

$myarray = array_values($myarray); 
+1

Me encanta. ¿Hay algo que PHP no pueda hacer? (no respondas eso) – pbarney

70
$myarray = array_values($myarray); 

array_values

+16

Su respuesta fue 21 segundos antes que la respuesta aceptada. – Sonny

10

array_values ​​hace el trabajo:

$myArray = array_values($myArray); 

también alguna otra función php no conservan las llaves, es decir, restablecer el índice.

2

Esta podría no ser la respuesta más simple en comparación con el uso de valores_arranque().

Prueba este

$array = array(0 => 'string1', 2 => 'string2', 4 => 'string3', 5 => 'string4'); 
$arrays =$array; 
print_r($array); 
$array=array(); 
$i=0; 
    foreach($arrays as $k => $item) 
    { 
    $array[$i]=$item; 
     unset($arrays[$k]); 
     $i++; 

    } 

print_r($array); 

Demo