对array_values的误解

时间:2017-12-08 13:26:13

标签: php php-7 php-7.2

当我这样做时,我无法正确解决array_values:

$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);

我的结果是:

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

但我想要:

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

也许有人可以向我解释一下?因为我有点失落: - /

例如,如果我有一个包含10个值的数组,删除第3个值,然后执行array_values,则效果很好。

但是如果我从数组中删除最后一个值,那么当我执行array_value时,我添加的下一个值总是为id而不是0.

1 个答案:

答案 0 :(得分:0)

此行为已被报告为错误:https://bugs.php.net/bug.php?id=75433和(显然也是此帖的结果):https://bugs.php.net/bug.php?id=75653