2009-10-12 7 views
0

Supposons que j'ai un tableau comme celui-ci:Débutant avec la question de tableau imbriqué - l'ajout de valeurs ensemble

$products = array('Shoes' => array('price' => 49.99, 'shipping' => 5), 
        'Shirt' => array('price' => 29.99, 'shipping' => 3), 
        'Socks'=> array('price' => 2.99, 'shipping' => 0) 
        ); 

Je ne parviens pas à traverser un tableau à plusieurs dimensions et en ajoutant les éléments. Y at-il des conseils pour un débutant PHP? Je vous remercie.

Répondre

1

Si vous voulez que le prix total de tous les produits, y compris l'expédition, vous pouvez calculer sans une boucle explicite à l'aide array_sum et array_map:

echo array_sum(array_map('array_sum', $products)); // prints 90.97 

Notez que array_map applique array_sum à chacun des réseaux internes, après lequel array_sum est finalement appliqué au résultat de cette opération.

1
$price = 0; 
foreach($products as $product) { 
    $price += array_sum($product); 
} 

Cela a l'avantage d'être plus lisible que l'utilisation array_map, mais fournit la même sortie.

0

Quelque chose comme ça?

$products = array('Shoes' => array('price' => 49.99, 'shipping' => 5), 
        'Shirt' => array('price' => 29.99, 'shipping' => 3), 
        'Socks'=> array('price' => 2.99, 'shipping' => 0) 
        ); 

$total = 0; 
foreach($products as $product) 
{ 
    $total += $product["price"]; 
} 

echo $total; 

Ce que vous avez est une variable appelée $ product dans chaque boucle. Cette variable a dans le premier tour "Chaussures" comme la clé et le tableau comme valeur. Vous pouvez donc l'appeler comme vous le feriez pour un tableau normal.

Questions connexes