Addition des valeurs d'un tableau

fuji600
Invité n'ayant pas de compte PHPfrance

19 janv. 2013, 17:27

Bonjour à tous ! =)
J'ai un petit problème. Je voudrais additionner les valeurs de mon tableau avec la fonction array_sum, mais il me renvoie comme valeur 0. Dans ce tableau $periode2, les valeurs ne sont pas entier mais décimal.

Code : Tout sélectionner

$key = 0; $periode = array(); foreach($maxi as $key => $periode) { if (isset($maxi[$key+1]['temps'])) { $periode = $maxi[$key+1]['temps']-$maxi[$key]['temps'] ; echo $periode . '<br />'; $periode2[]=array('temps'=> $periode) ; } $key++; } echo array_sum($periode2);
Merci d'avance =)

fuji600
Invité n'ayant pas de compte PHPfrance

19 janv. 2013, 17:31

Je réecris mon code mais avec les code couleurs :
$key = 0;
$periode = array();

foreach($maxi as $key => $periode)
{
  if (isset($maxi[$key+1]['temps']))
  {
   $periode = $maxi[$key+1]['temps']-$maxi[$key]['temps'] ;
   echo $periode . '
';
   $periode2[]=array('temps'=> $periode) ;
  }
   $key++;

}

echo array_sum($periode2);

Mammouth du PHP | 2278 Messages

19 janv. 2013, 18:37

[quote="fuji600"]Je réecris mon code mais avec les code couleurs :
$key = 0;
$periode = array();

foreach($maxi as $key => $periode)
{
  if (isset($maxi[$key+1]['temps']))
  {
   $periode = $maxi[$key+1]['temps']-$maxi[$key]['temps'] ;
   echo $periode . '
';
   $periode2[]=array('temps'=> $periode) ;
  }
   $key++;

}

Tente donc d'ajouter,  histoire de voir:
var_dump($periode2);
echo array_sum($periode2);
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

fuji600
Invité n'ayant pas de compte PHPfrance

19 janv. 2013, 19:10

J'obtiens ceci (la valeur est toujours 0) :
array
  0 => 
    array
      'temps' => float 0.82
  1 => 
    array
      'temps' => float 0.88
  2 => 
    array
      'temps' => float 0.86
  3 => 
    array
      'temps' => float 1
  4 => 
    array
      'temps' => float 0.98

0

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 janv. 2013, 21:08

salut,

je ne suis pas certain que array_sum sache utiliser un tableau multiple ;)

Pourquoi ne pas simplement faire le calcul dans le foreach ?
<?php
$key = 0;

$result = 0;
foreach($maxi as $key => $periode)
{
  if (isset($maxi[$key+1]['temps']))
  {
   $periode = $maxi[$key+1]['temps']-$maxi[$key]['temps'] ;
   echo $periode . '
';
   $result += $periode;
  }
   $key++;

}
pour après t'a p'tet besoin du tableau :mrgreen:


@+
Il en faut peu pour être heureux ......

fuji600
Invité n'ayant pas de compte PHPfrance

19 janv. 2013, 21:55

Merci Beaucoup ! ca marche :) problème résolu