2010-05-31 6 views
4

Y at-il fonction par défaut pour effacer seules les valeurs d'un tableau. Ex arr {} 10,3,3,34,56,12 à arr {0,0,0,0,0,0}tableau php clair

Répondre

8
$array = array_combine(array_keys($array), array_fill(0, count($array), 0)); 

Alternative:

$array = array_map(create_function('', 'return 0;'), $array); 
1
$array = array_fill(0, count($array), 0); 

Cela crée un tableau de la taille de l'original rempli de zéros.

+2

Bien que l'OP ne l'ait pas dit, je suppose que les touches peuvent ne pas être continuellement numériques. Cette solution détruirait les clés. – deceze

+0

Le code ci-dessus fonctionne pour votre exemple (tableau non associatif). Si vous voulez conserver les clés, la solution de Deceze est correcte. –

3

Pour répondre à votre question initiale: Non, il n'y a pas de fonction par défaut PHP pour cela. Cependant, vous pouvez essayer une combinaison d'autres fonctions comme les autres types décrits. Cependant, je trouve le morceau de code suivant plus lisible:

$numbers = Array("a" => "1", "b" => 2, "c" => 3); 

foreach ($numbers as &$number) { 
    $number = 0; 
}