153 votes

Touches de réinitialisation des éléments d'un tableau en php?

La question est comment faire pour réinitialiser la clé par exemple, pour un tableau:

   Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324)  ) 

réinitialiser :

   Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324)  ) 

336voto

deceze Points 200115
$arr = array_map('array_values', $arr);

Pour toute personne downvoting ou de contester cette réponse: regardez de nouveau la question. Ce code réinitialise les clés de tableaux à l'intérieur d'un tableau. Si vous voulez juste pour réinitialiser premier niveau de la matrice de touches, utilisez array_values() sans array_map.

22voto

SiGanteng Points 23915

Utiliser array_values pour réinitialiser les touches

foreach($input as &$val) {
   $val = array_values($val);
}

http://php.net/array_values

11voto

Mahdi Points 3138

Ici vous pouvez voir la différence entre la façon dont les deceze offert en comparant le simple array_values approche:

Le Tableau:

$array['a'][0] = array('x' => 1, 'y' => 2, 'z' => 3);
$array['a'][5] = array('x' => 4, 'y' => 5, 'z' => 6);

$array['b'][1] = array('x' => 7, 'y' => 8, 'z' => 9);
$array['b'][7] = array('x' => 10, 'y' => 11, 'z' => 12);

En deceze façon, ici est votre sortie:

$array = array_map('array_values', $array);
print_r($array);

/* Output */

Array
(
    [a] => Array
        (
            [0] => Array
                (
                    [x] => 1
                    [y] => 2
                    [z] => 3
                )
            [1] => Array
                (
                    [x] => 4
                    [y] => 5
                    [z] => 6
                )
        )
    [b] => Array
        (
            [0] => Array
                (
                    [x] => 7
                    [y] => 8
                    [z] => 9
                )

            [1] => Array
                (
                    [x] => 10
                    [y] => 11
                    [z] => 12
                )
        )
)

Et voici votre sortie si vous ne l'utilisez array_values fonction de:

$array = array_values($array);
print_r($array);

/* Output */

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [x] => 1
                    [y] => 2
                    [z] => 3
                )
            [5] => Array
                (
                    [x] => 4
                    [y] => 5
                    [z] => 6
                )
        )
    [1] => Array
        (
            [1] => Array
                (
                    [x] => 7
                    [y] => 8
                    [z] => 9
                )
            [7] => Array
                (
                    [x] => 10
                    [y] => 11
                    [z] => 12
                )
        )
)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X