简体   繁体   English

如何从数组彼此相邻设置多个字符串

[英]how to set multiple strings from array next to each other

I have a overview of products which I want to place next to each other in a table like this : "product1, $1,35;product2, $1,50;product3, $5,50" 我对要在表中彼此相邻放置的产品进行了概述:“ product1,$ 1,35; product2,$ 1,50; product3,$ 5,50”

But now when I print them they get like this on my screen: 但是现在当我打印它们时,它们在我的屏幕上显示如下:

在此处输入图片说明

here is a var_dump of my json decoded array: 这是我的json解码数组的var_dump

array(4) { ["product_id"]=> int(1) ["product_name"]=> string(12) "Broodje Kaas" ["product_quantity"]=> int(1) ["product_price"]=> int(205) } array(4) { ["product_id"]=> int(2) ["product_name"]=> string(11) "Broodje ham" ["product_quantity"]=> int(3) ["product_price"]=> int(107) } array(4) { ["product_id"]=> int(1) ["product_name"]=> string(10) "Broodje ei" ["product_quanity"]=> int(1) ["product_price"]=> int(205) } array(4) { ["product_id"]=> int(2) ["product_name"]=> string(11) "Broodje kip" ["product_quanity"]=> int(3) ["product_price"]=> int(107) } array(4) { ["product_id"]=> int(1) ["product_name"]=> string(12) "Broodje Kaas" ["product_quanity"]=> int(1) ["product_price"]=> int(205) } array(4) { ["product_id"]=> int(2) ["product_name"]=> string(11) "Broodje ham" ["product_quanity"]=> int(3) ["product_price"]=> int(107) }

and a var_dump of my $productids: 以及我的$ productids的var_dump

array ( [0] => Array ( [id] => 1 [order_items] => [{"product_id":1,"product_name":"Broodje Kaas","product_quantity":1,"product_price":205},{"product_id":2,"product_name":"Broodje ham","product_quantity":3,"product_price":107}] [order_price] => 2,50 [order_date] => 2017-10-12 18:08:43 [order_state] => 1 [order_is_paid] => 1 ) [1] => Array ( [id] => 2 [order_items] => [{"product_id":1,"product_name":"Broodje ei","product_quanity":1,"product_price":205},{"product_id":2,"product_name":"Broodje kip","product_quanity":3,"product_price":107}] [order_price] => 3,00 [order_date] => 2017-10-12 18:04:38 [order_state] => 0 [order_is_paid] => 0 ) [2] => Array ( [id] => 3 [order_items] => [{"product_id":1,"product_name":"Broodje Kaas","product_quanity":1,"product_price":205},{"product_id":2,"product_name":"Broodje ham","product_quanity":3,"product_price":107}] [order_price] => 5,60 [order_date] => 2017-10-12 14:40:51 [order_state] => 2 [order_is_paid] => 1 ) ) Array ( [0] => Array ( [id] => 1 [order_items] => [{"product_id":1,"product_name":"Broodje Kaas","product_quantity":1,"product_price":205},{"product_id":2,"product_name":"Broodje ham","product_quantity":3,"product_price":107}] [order_price] => 2,50 [order_date] => 2017-10-12 18:08:43 [order_state] => 1 [order_is_paid] => 1 ) [1] => Array ( [id] => 2 [order_items] => [{"product_id":1,"product_name":"Broodje ei","product_quanity":1,"product_price":205},{"product_id":2,"product_name":"Broodje kip","product_quanity":3,"product_price":107}] [order_price] => 3,00 [order_date] => 2017-10-12 18:04:38 [order_state] => 0 [order_is_paid] => 0 ) [2] => Array ( [id] => 3 [order_items] => [{"product_id":1,"product_name":"Broodje Kaas","product_quanity":1,"product_price":205},{"product_id":2,"product_name":"Broodje ham","product_quanity":3,"product_price":107}] [order_price] => 5,60 [order_date] => 2017-10-12 14:40:51 [order_state] => 2 [order_is_paid] => 1 ) ) Array ( [0] => Array ( [id] => 1 [order_items] => [{"product_id":1,"product_name":"Broodje Kaas","product_quantity":1,"product_price":205},{"product_id":2,"product_name":"Broodje ham","product_quantity":3,"product_price":107}] [order_price] => 2,50 [order_date] => 2017-10-12 18:08:43 [order_state] => 1 [order_is_paid] => 1 ) [1] => Array ( [id] => 2 [order_items] => [{"product_id":1,"product_name":"Broodje ei","product_quanity":1,"product_price":205},{"product_id":2,"product_name":"Broodje kip","product_quanity":3,"product_price":107}] [order_price] => 3,00 [order_date] => 2017-10-12 18:04:38 [order_state] => 0 [order_is_paid] => 0 ) [2] => Array ( [id] => 3 [order_items] => [{"product_id":1,"product_name":"Broodje Kaas","product_quanity":1,"product_price":205},{"product_id":2,"product_name":"Broodje ham","product_quanity":3,"product_price":107}] [order_price] => 5,60 [order_date] => 2017-10-12 14:40:51 [order_state] => 2 [order_is_paid] => 1 ) )

and here is my code 这是我的代码

<table class="table table-striped">
<?php $output = "<tr><th># </th><th>Producten </th><th>Prijs </th></tr>";?>
<tbody>
<tr>

Uw bestelde producten 最佳西方产品

<?php foreach ($productsids as $value) {

    $output .= "<tr>";
    $orderitems = json_decode($value['order_items'], true);
    $output .= "<td>" .$value['id']. "</td>";

    foreach ($orderitems as $item) {
        var_dump($item);

        $output .= "<td>" .$item['product_name']. "</td>";
        $output .= "<td>" .$item['product_price']. "</td>";

        //$output .= "<td>" .$item['product_quantity']. "</td>";

    }
    $output .= "</tr>";

}
echo $output;
?>

</tr>
</tbody>

If you are putting one product per row, you need to handle tr inside the foreach of sub products, and span them with that first cell with the row number in it. 如果要每行放置一个产品,则需要在每个子产品的foreach内部处理tr,并用第一个包含行号的单元格将它们跨越。

Something like this: 像这样:

foreach ($productsids as $value) {
    $orderitems = json_decode($value['order_items'], true);
    $output .= "<tr>";
    $output .= '<td rowspan="'. count($orderitems) .'">' . $value['id'] . "</td>";
    foreach ($orderitems as $r => $item) {
        if ($r!=0) { $output .= "</tr><tr>"; }
        $output .= "<td>" . $item['product_name'] . "</td>";
        $output .= "<td>" . $item['product_price'] . "</td>";
    }
    $output .= "</tr>";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM