Probleme avec la fonction Array_walk

Résolu
thity14 -  
BlackYoup Messages postés 184 Statut Membre -
Bonjour,

je veux appliquer cette fonction number_format a tous les element de mon tableau

function sepMillier($val){
number_format($val,0,'.',' ');
}

$tab = array(1000,1500,45310,789644,1235,45896);
array_walk($tab,"sepMillier");
print_r($tab);

mais je constate que rien ne se passe.......besoin d'aide merci

1 réponse

  1. BlackYoup Messages postés 184 Statut Membre 20
     
    Salut :)

    Peux-tu expliquer un peu ce que tu attend comme résultat, ne connaissant pas vraiment ces fonctions, je pense avoir mal compris.
    0
    1. thity14
       
      alors je veux simplement appliquer un separateur de millier a tous les nombres du tableau.
      0
    2. BlackYoup Messages postés 184 Statut Membre 20
       
      Salut :)

      Bon, n'utilisant jamais array_walk, j'ai fait un petit truc peut être bourrin mais ca marche :
      global $save; // variable globale réutilisée dans la fonction
      $save = array();
      function sepMillier($val){ 
      global $save; // on la redéfinit en temps que global
      $save[] = number_format($val,4,'.',' '); // on sauvegarde la valeur traitée dans le tableau de sauvegarde
      } 
      
      $tab = array(1000,1500,45310,789644,1235,45896); 
      array_walk($tab,"sepMillier"); 
      print_r($save);
      


      Perso j'aurais fait plus simple :
      $tab = array(1000,1500,45310,789644,1235,45896); 
      $save2 = array();
      
      for($i = 0; $i < sizeof($tab); $i++)
          $save2[] = number_format($tab[$i],4,'.',' ');
      
      print_r($save2);
      

      Peut être que je m'y prend mal aussi :D
      0
    3. thity14
       
      Seconde solution adoptée...merci encore
      0
    4. BlackYoup Messages postés 184 Statut Membre 20
       
      Si c'est résolu, merci de passer le titre comme tel :)
      0