2012-12-21 26 views
0

请我有以下阵列后,初始化数组元素的顺序:PHP如何删除

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" 

     } 

    } 

谢谢你提前!

+3

[array_values()](http://php.net/array_values)? – Touki

+0

$ cleared = array_map('array_filter',$ array_old); –

+0

非常感谢Touki它的作品! –

回答

2

用array_values()

print_r(array_values($array)); 
1
$a2=array() 
foreach($array as $v){ 
    $a2[]=$v; 
} 

应该工作。

但我有一种感觉,也有对“正常化”的键值的功能。

重新读你的问题,我不认为有什么办法在PHP中强制数组总是有行政要素(像许多其他编程语言中的数组会自动执行) - 在这方面,PHP数组更类似于其他语言的散列。

1

array_values()将做到这一点。它将返回索引值的数组。

或者你可以使用array_splice要删除的元素。

array_splice($arr, 1, 1); 
var_dump($arr);