PHP重建索引数组?

Che*_*lle 3 php arrays indexing reset

再次原谅我的noobness.我有一个包含20多个值的数组,我每20个数据推入数据库,然后将它们从数组前面切掉.我想重新启动数组的索引回到0,但是即使我使用array_values,它也会从20开始.我也尝试过array_merge(array(),$ string)怎么办?

if($x%20 == 0){
    var_dump($string) // original array
    get_string($string, $body, $binary); //puts the 20 string into my db

    for($y=0; $y <20; $y++) //done with the 20 so I'm removing them
        unset($string[$y]);

    array_values($string); //reindex set $string[20] to $string[0] PLEASE!
    var_dump($string); // this is suppose to be reindexed
}
Run Code Online (Sandbox Code Playgroud)

相反,我得到了

array // original array
  0 => string '----' (length=25)
  1 => string '----' (length=15)
  2 => string '----' (length=27)
  3 => string '----' (length=22)
  4 => string '----' (length=23)
  5 => string '----' (length=21)
  6 => string '----' (length=26)
  7 => string '----' (length=23)
  8 => string '----' (length=24)
  9 => string '----' (length=31)
  10 => string '----' (length=19)
  11 => string '----' (length=22)
  12 => string '----' (length=24)
  13 => string '----' (length=24)
  14 => string '----' (length=25)
  15 => string '----' (length=12)
  16 => string '----' (length=16)
  17 => string '----' (length=15)
  18 => string '----' (length=23)
  19 => string '----' (length=15)
  20 => string '----' (length=16)
  21 => string '----' (length=27)

array //reindexed array? This was suppose to be [0] and [1]
  20 => string '----' (length=16)
  21 => string '----' (length=27)
Run Code Online (Sandbox Code Playgroud)

Ham*_*ish 12

我经常这样做:

$array = array_values($array);
Run Code Online (Sandbox Code Playgroud)

看起来你大部分都在那里 - 只是忘了将新数组分配给旧变量.

  • 我喜欢PHP的不一致! (2认同)