2016-09-10 1 views
0

zu erstellen Ich versuche, ein Berechnungsskript aus einem JSON-Array erstellen (kann mehr oder weniger Einträge sein), wo die Anzahl der Wochen und Jahreszeiten Punkte haben, und alles zusammen sollte es Ausgabe insgesamt, aber nicht größer als 50. Irgendwo mache ich einen Fehler, da mein Ergebnis 0 ist. Da ich PHP ziemlich neu bin, hat dieses Skript schon einige Zeit gedauert :-) Eifrig zu lernen .. kann mir jemand zeigen was ich mache ich falsch?Versuchen, ein Berechnungsskript von einem JSON-Array in PHP

Dies ist das Array:

Array 
(
    [experiences] => Array 
     (
      [0] => Array 
       (
        [quantity] => 1 
        [unit] => seasons 
        [description] => skischool 1 
       ) 

      [1] => Array 
       (
        [quantity] => 5 
        [unit] => weeks 
        [description] => skischool 2 
       ) 

      [2] => Array 
       (
        [quantity] => 3 
        [unit] => seasons 
        [description] => skischool 3 
       ) 

      [3] => Array 
       (
        [quantity] => 2 
        [unit] => weeks 
        [description] => skischool 4 
       ) 

     ) 

) 

Und hier meine Idee des Drehbuchs ist:

$incoming = json_decode($text, true); 
$experiences = Sanitize::getVar($incoming, 'experiences'); 
$total = 0; 
$weeks_points = 0.5; 
$seasons = 5; 
if(!empty($experiences['experiences'])) { 
    foreach($experiences['experiences'] as $experience) { 

     if($experience['unit'] == 'seasons') { 
      $total = $total + ($experience['quantity'] * $sessons); 
     } else if($experience['unit'] == 'weeks') { 
      $total = $total + ($experience['quantity'] * $weeks_points); 
     } 
    } 
} 
$total = round($total); 
echo $total = $total > 50 ? 50 : $total; 

Antwort

0

Ich kann falsch sein, sollte aber nicht die, wenn und die Schleife wie folgt aussehen?

if(!empty($experiences)) { 
    foreach($experiences as $experience) { 
Verwandte Themen