5 votes

Incompréhension des valeurs de tableau (array_values)

J'ai un problème pour comprendre correctement array_values, quand je le fais :

$array[] = 'data1'; // I want [0 => 'data1']
unset($array[0]); // I want []
$array = array_values($array); // I want [] but keys resetted
$array[] = 'data2'; // I want [0 => 'data2']
$array[] = 'data3'; // I want [0 => 'data2', 1 => 'data3']
dump($array);

J'ai le résultat :

array:2 [▼
  1 => "data2"
  2 => "data3"
]

Mais je veux :

array:2 [▼
  0 => "data2"
  1 => "data3"
]

Peut-être quelqu'un peut-il m'expliquer ce qu'il en est ? Parce que je suis un peu perdu :-/

Par exemple, si j'ai un tableau avec 10 valeurs, j'enlève la 3ème valeur, et je fais un array_values on, cela fonctionne bien.

Mais si j'enlève la dernière valeur d'un tableau, alors quand je fais un array_value, la prochaine valeur que j'ajoute, a toujours l'id 1 et non 0.

0voto

Jiri Hrazdil Points 3154

Ce comportement a déjà été signalé comme un bogue : https://bugs.php.net/bug.php?id=75433 et (apparemment à la suite de ce billet) aussi : https://bugs.php.net/bug.php?id=75653

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