从已使用array_push()创建的数组中删除索引

时间:2018-08-27 02:31:38

标签: php

$colors = array();

for($i = 1; $i <=2; $i++) {
    if ($i == 1) {
        $current_colors = array('color1' => 'blue', 'color2' => 'red');
    }    
    else {
        $current_colors = array('color3' => 'yellow', 'color4' => 'green');
    }
    array_push($colors, $current_colors);
}

var_dump($colors);

此脚本返回:

array(2) {
  [0]=>
  array(2) {
    ["color1"]=>
    string(4) "blue"
    ["color2"]=>
    string(3) "red"
  }
  [1]=>
  array(2) {
    ["color3"]=>
    string(6) "yellow"
    ["color4"]=>
    string(5) "green"
  }
}

我需要的数组不应有任何索引(在这种情况下为01)。

我也用array_push()尝试了它,而不是array_merge(),但是它返回了一个空数组。

如何删除索引?

2 个答案:

答案 0 :(得分:2)

您需要执行以下操作:

$colors = array_merge($colors, $current_colors);

array_merge()不会更新$colors。您需要自己更新

答案 1 :(得分:0)

PHP中的数组总是有键;即使您自己没有指定数字,也可以使用数字。如果您需要像没有键一样访问数组,则可以使用array_values()。