Acemi dizi sorun, listelemek ve işlemek için bir 2B dizi öğeleri ayıklamak

1 Cevap

PHP dizileri öğrenme yaşıyorum ve ben çalışıyorum küçük bir makbuz egzersiz için, çok boyutlu bir dizi öğeleri ayıklamak ve hesaplama gibi bir şey yapmak için nasıl bilmek istiyorum:

$products = array('Textbook' =>  array('price' => 35.99, 'tax' => 0.08), 
                  'Notebook' =>  array('price' => 5.99,  'tax' => 0.08),
                  'Snack'    =>  array('price' => 0.99,  'tax' => 0) 
                 );

Benim sorun bir makbuz olarak görüntülemek için, (örneğin, satış vergisi bir öğeyi çarpılarak) yazdırmak veya hesaplamak için ayrı ayrı öğeleri listelemek için nasıl bulgudur. Ben PHP içinde temel hesaplamalar yapmak için biliyorum, benim HTML ve CSS biliyorum, ama çok boyutlu bir dizi döngü beni sıkışmış aldı. Herhangi bir ipucu için çok teşekkür ederim.

1 Cevap

PHP diziler üzerinde yineleme için yararlı bir foreach deyimi vardır. Bu iç içe olanlar için sadece iyi çalışır:

foreach($products as $name => $product)
    foreach($product as $fieldName => $fieldValue)
        // $products is the whole array
        // $product takes the value of each array in $products, one at a time
        // e.g. array('price' => 35.99, 'tax' => 0.08)
        // $name takes the value of the array key that maps to that value
        // e.g. 'Textbook'
        // $fieldName takes the name of each item in the sub array
        // e.g. 'price' or 'tax'
        // $fieldValue takes the value of each item in the sub array
        // e.g. 35.99 or 0.08