Damith
Damith

Reputation: 2082

How to print multidimensional arrays in php

I have an array in below format

Array ( [0] => Array ( [product_id] => 33 [amount] => 1 ) [1] => Array ( [product_id] => 34 [amount] => 3 ) [2] => Array ( [product_id] => 10 [amount] => 1 ) ) 

I want to get output from that array as below format

Product ID    Amount
33             1
34             3
10             1

Can anyone please help me regarding this problem. var_dump of the variable is.

array
  0 => 
    array
      'product_id' => string '33' (length=2)
      'amount' => string '1' (length=1)
  1 => 
    array
      'product_id' => string '34' (length=2)
      'amount' => string '3' (length=1)
  2 => 
    array
      'product_id' => string '10' (length=2)
      'amount' => string '1' (length=1)

Upvotes: 8

Views: 83949

Answers (3)

Hearaman
Hearaman

Reputation: 8726

     <table>
        <tr>
            <th>Product Id</th>
            <th>Ammount</th>
        </tr>

        <?php
        foreach ($yourArray as $subAray)
        {
            ?>
            <tr>
                <td><?php echo $subAray['product_id']; ?></td>
                <td><?php echo $subAray['amount']; ?></td>
            </tr>
            <?php
        }
        ?>
    </table>

Upvotes: 4

Baba
Baba

Reputation: 95101

I believe this is your array

$array = Array ( 
        0 => Array ( "product_id" => 33 , "amount" => 1 ) ,
        1 => Array ( "product_id" => 34  , "amount" => 3 ) ,
        2 => Array ( "product_id" => 10  , "amount" => 1 ) );

Using foreach

echo "<pre>";
echo "Product ID\tAmount";
foreach ( $array as $var ) {
    echo "\n", $var['product_id'], "\t\t", $var['amount'];
}

Using array_map

echo "<pre>" ;
echo "Product ID\tAmount";
array_map(function ($var) {
    echo "\n", $var['product_id'], "\t\t", $var['amount'];
}, $array);

Output

Product ID  Amount
33          1
34          3
10          1

Upvotes: 10

Ashwini Agarwal
Ashwini Agarwal

Reputation: 4858

Try this..

foreach($arr as $a)
{
    echo $a['product_id'];
    echo $a['amount'];
}

Format as per your requirment.

Upvotes: 2

Related Questions