Tout calculer avec array_walk_recursive

Tout calculer avec array_walk_recursive - PHP - Programmation

Marsh Posté le 05-04-2009 à 17:13:17    

Salut,
 
Voici un code php :
 

Code :
  1. <?php
  2. function GetLenght($val, $cle)
  3. {
  4. if($cle === 'length')
  5.  echo $val;
  6. }
  7. array_walk_recursive($array, 'GetLenght');
  8. ?>


 
Il permet de récupérer la valeur de tous les "length" d'un tableau.
 
Par exemple, j'ai ce tableau :
 
Array
(
    [test] => yop
    [lenght] => 4578
    [0] => Array
        (
            [test2] => re yop
            [lenght] => 10
        )
 
    [fin] => finish
)

 
 
Ça m'affichera :
 
4578
10
 
Je souhaite donc additionner ces 2 valeurs et je me demande comment je peux faire :)


Message édité par Orission le 05-04-2009 à 23:47:46

---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
Reply

Marsh Posté le 05-04-2009 à 17:13:17   

Reply

Marsh Posté le 05-04-2009 à 17:32:09    

wat?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 05-04-2009 à 20:17:05    

1) length, pas lenght
2) wat?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 05-04-2009 à 23:47:52    

edit :)


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
Reply

Marsh Posté le 06-04-2009 à 08:21:57    

Code :
  1. function GetLength($value, $key)
  2. {
  3.    // $total est conservé à chaque appel de getlength
  4.    static $total;
  5.  
  6.    if($key === 'length') {
  7.        $total += $value;
  8.    } elseif($key === 'fin') {
  9.        echo $total;
  10.        $total = 0; // si la fonction est réutilisée.
  11.    }
  12. }

Reply

Marsh Posté le 06-04-2009 à 08:24:18    

phpG [:sadnoir]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 06-04-2009 à 08:24:30    

ceci dit :
 - ma solution est un peu merdique
 - pourquoi tu veux faire çà ?

Reply

Marsh Posté le 06-04-2009 à 09:07:55    

array_walk_recursive prend un 3ème paramètre optionnel, si tu y mettais une variable où stocker la somme?[:dawak]

Message cité 1 fois
Message édité par skeye le 06-04-2009 à 09:08:36

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-04-2009 à 09:22:17    

ah

Reply

Marsh Posté le 06-04-2009 à 14:37:52    


 
 
le key de fin n'a pas forcément cette valeur c'est aléatoire :p
 
Je souhaite faire ça pour avoir la somme de toutes les valeurs de lenght de l'array :)


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
Reply

Marsh Posté le 06-04-2009 à 14:37:52   

Reply

Marsh Posté le 06-04-2009 à 14:56:10    

Orission a écrit :


 
 
le key de fin n'a pas forcément cette valeur c'est aléatoire :p
 
Je souhaite faire ça pour avoir la somme de toutes les valeurs de lenght de l'array :)


Je sais, je regarde seulement si la clé est 'fin'.
Mais pourquoi tu fais çà ?
Je veux dire, à quoi çà te sert, d'où sort ton tableau ?

Message cité 1 fois
Message édité par Profil supprimé le 06-04-2009 à 14:57:08
Reply

Marsh Posté le 06-04-2009 à 14:56:44    

Orission a écrit :


Je souhaite faire ça pour avoir la somme de toutes les valeurs de lenght de l'array :)


 

skeye a écrit :

array_walk_recursive prend un 3ème paramètre optionnel, si tu y mettais une variable où stocker la somme?[:dawak]



---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-04-2009 à 15:06:01    


 
Mon tableau sort des fichiers torrents, j'exporte les données du torrent dans un array et je souhaite calculer la taille de tous les fichiers dedans.


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed