2010-09-17 14 views
0

J'ai une fonction qui ajoute des données de panier à un tableau de tableaux. Le tableau ressemble à ceci:Comment puis-je obtenir le total des éléments de tableau spécifiques?

Array ( 
[0] => Array ([TypeFlag] => S [qty] => 2 [denom] => 50 [certMessage] => [totalPrice] => 100) 
[1] => Array ([TypeFlag] => S [qty] => 1 [denom] => 25 [certMessage] => [totalPrice] => 25) 
) 

Ce que je dois faire est d'obtenir le prix total de tous les éléments du Cart- dans ce cas, 125. Comment puis-je prendre? Je sais comment accéder aux valeurs spécifiques d'un tableau, mais comment puis-je obtenir les valeurs de plusieurs tableaux comme celui-ci? Je peux imprimer chaque valeur dans une boucle, comme ceci:

$finalTotal = 0.00; 
foreach($cart as $value) { 
     foreach($value as $key=>$item) {    
      error_log("cart ".$key . ": ". $item); 
     } 
    } 

Dois-je utiliser un si à l'intérieur du foreach imbriquée et dire si la clé $ = « TotalPrice », ajouter $ article à $ finalTotal? Ou y a-t-il un autre moyen de le faire?

Répondre

2

Vous pouvez simplement faire référence 'totalPrice' directement:

$finalTotal = 0; 
foreach($cart as $value) { 
    $finalTotal += $value['totalPrice']; 
} 
+0

'$ finalTotal + = $ value [ 'TotalPrice'] * valeur $ [ 'qty']; 'considère la quantité. – hacksteak25

+1

Je pense que dans l'exemple 'valeur $ [ « TotalPrice »] = valeur $ [ « qté »] * valeur $ [ « de denom »]' – rojoca

+0

Je ne pas besoin de prendre qté en compte, la valeur de TotalPrice dans chaque tableau est déjà qté * unitPrice. J'ai juste besoin d'obtenir la somme des valeurs de totalPrice pour tous les tableaux, ce que fait l'exemple. – EmmyS

1

Vous pouvez accéder aux éléments directement à l'aide des indices:

$finalTotal = 0.00; 
foreach($cart as $value) 
    $finalTotal = $finalTotal + $value['totalPrice'];