Probleme avec la fonction Array_walk

Résolu/Fermé
thity14 - 16 août 2013 à 17:02
BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 - 18 août 2013 à 12:43
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

BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
16 août 2013 à 18:40
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
alors je veux simplement appliquer un separateur de millier a tous les nombres du tableau.
0
BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
Modifié par BlackYoup le 17/08/2013 à 20:01
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
Seconde solution adoptée...merci encore
0
BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
18 août 2013 à 12:43
Si c'est résolu, merci de passer le titre comme tel :)
0