首页 > 解决方案 > PHP foreach 循环只返回第一项

问题描述

我正在尝试开发一个在线商店,当我尝试列出我所有的购物篮产品时,如果我这样做了

$basket = array(
    '6512bd43d9caa6e02c990b0a82652dca' =>
    array(
        'id' => '11',
        'quantity' => '51',
        'price' => '0.28',
        'stock' => '50',
        'name' => 'Tomato',
        'description' => 'u (140 gr aprox.) (1,99 â¬/Kg.)',
        'discount' => '0',
        'img' => '10.png',
        'unique_id' => '6512bd43d9caa6e02c990b0a82652dca',
        'total' => 14.28
    ),
    '72b32a1f754ba1c09b3695e0cb6cde7f' =>
    array(
        'id' => '57',
        'quantity' => '15',
        'price' => '2.70',
        'stock' => '15',
        'name' => 'fish ',
        'description' => 'tuna 500 gr',
        'discount' => '0',
        'img' => '57.png',
        'unique_id' => '72b32a1f754ba1c09b3695e0cb6cde7f',
        'total' => 40.5
    )
);

if($basket)
{
    echo "Basket:" . '<br/>';
    print_r($basket);
    echo '<br/>';
    echo "Products:" . '<br/>';

    foreach($basket as $product)
    { 
        print($product);
        echo '<br/';
    }
}

这是返回的

Basket:
Array
(
    [6512bd43d9caa6e02c990b0a82652dca] => Array
    (
        [id] => 11
        [quantity] => 51
        [price] => 0.28
        [stock] => 50
        [name] => Tomato
        [description] => u (140 gr aprox.) (1,99 â¬/Kg.)
        [discount] => 0
        [img] => 10.png
        [unique_id] => 6512bd43d9caa6e02c990b0a82652dca
        [total] => 14.28
    )
    [72b32a1f754ba1c09b3695e0cb6cde7f] => Array
    (
        [id] => 57
        [quantity] => 15
        [price] => 2.70
        [stock] => 15
        [name] => fish
        [description] => tuna 500 gr
        [discount] => 0
        [img] => 57.png
        [unique_id] => 72b32a1f754ba1c09b3695e0cb6cde7f
        [total] => 40.5
    )
)
Productos:
Array ( [id] => 11 [quantity] => 51 [price] => 0.28 [stock] => 50 [name] => Tomato [description] => u (140 gr aprox.) (1,99 â¬/Kg.) [discount] => 0 [img] => 10.png [unique_id] => 6512bd43d9caa6e02c990b0a82652dca [total] => 14.28 )
57 [quantity] => 15 [price] => 2.70 [stock] => 15 [name] => fish [description] => tuna 500 gr [discount] => 0 [img] => 57.png [unique_id] => 72b32a1f754ba1c09b3695e0cb6cde7f [total] => 40.5 )

但是,如果我这样做

if($basket)
{
    echo "Basket:" . '<br/>';
    print_r($basket);
    echo '<br/>';
    echo "Products:" . '<br/>';

    foreach($basket as $product)
    { 
        print($product["name");
        echo '<br/';
    }
}

返回的是:

Basket:
Array ( [6512bd43d9caa6e02c990b0a82652dca] => Array ( [id] => 11 [quantity] => 51 [price] => 0.28 [stock] => 50 [name] => Tomato [description] => u (140 gr aprox.) (1,99 â¬/Kg.) [discount] => 0 [img] => 10.png [unique_id] => 6512bd43d9caa6e02c990b0a82652dca [total] => 14.28 ) [72b32a1f754ba1c09b3695e0cb6cde7f] => Array ( [id] => 57 [quantity] => 15 [price] => 2.70 [stock] => 15 [name] => fish [description] => tuna 500 gr [discount] => 0 [img] => 57.png [unique_id] => 72b32a1f754ba1c09b3695e0cb6cde7f [total] => 40.5 ) )
Products:
Tomato

我不明白为什么它只显示篮子的第一项。我能做些什么来修复它?

谢谢!

标签: phpcodeigniter

解决方案


你已经做对了,除了在<br/.

它应该是<br/>


推荐阅读