0

请我有以下数组:

array(3) {
  [0]=>
  array(3) {
    ["id_coach"]=>
    int(1)
    ["nom_coach"]=>
    string(4) "kaka"       
  }
  [1]=>
  array(3) {
    ["id_coach"]=>
    int(2)
    ["nom_coach"]=>
    string(7) "kiki"

  }
  [2]=>
  array(3) {
    ["id_coach"]=>
    int(3)
    ["nom_coach"]=>
    string(7) "koko"

  }

}

删除数组 [1] 后,我得到了这个数组:

array(2) {
      [0]=>
      array(3) {
        ["id_coach"]=>
        int(1)
        ["nom_coach"]=>
        string(4) "kaka"       
      }      
      [2]=>
      array(3) {
        ["id_coach"]=>
        int(3)
        ["nom_coach"]=>
        string(7) "koko"

      }

    }

我认为这是正常的,但是请大师们在删除后如何初始化它并改为获取:

array(2) {
      [0]=>
      array(3) {
        ["id_coach"]=>
        int(1)
        ["nom_coach"]=>
        string(4) "kaka"       
      }      
      [1]=>
      array(3) {
        ["id_coach"]=>
        int(3)
        ["nom_coach"]=>
        string(7) "koko"

      }

    }

先感谢您 !

4

3 回答 3

2

使用 array_values()

print_r( array_values( $array ) );
于 2012-12-21T13:10:57.103 回答
1
$a2=array()
foreach($array as $v){
   $a2[]=$v;
}

应该管用。

但我感觉还有一个“规范化”键值的功能。

重读您的问题,我认为 php 中没有任何方法可以强制数组始终具有连续元素(就像许多其他编程语言中的数组自动执行的那样)-在这方面,php 数组更类似于其他中的哈希语言。

于 2012-12-21T13:07:23.060 回答
1

array_values()会做到这一点。

它将返回值的索引数组。

或者您可以使用array_splice删除元素。

array_splice($arr, 1, 1);
var_dump($arr);
于 2012-12-21T13:10:19.600 回答