Php 通过POST发送现有多维数组

Php 通过POST发送现有多维数组,php,arrays,post,multidimensional-array,Php,Arrays,Post,Multidimensional Array,在我的页面上,我有一个多维数组,我需要将它传递到另一个页面,然后从该页面将数组发送到控制器。数组将始终隐藏以简化表单。我搜索了一些,但没有找到问题的答案。 看起来是这样的 <form action="index.php?route=common/fittingForm" method="post"> <?php foreach($products as $product) { ?> <input type="hidden" name="pro

在我的页面上,我有一个多维数组,我需要将它传递到另一个页面,然后从该页面将数组发送到控制器。数组将始终隐藏以简化表单。
我搜索了一些,但没有找到问题的答案。 看起来是这样的

<form action="index.php?route=common/fittingForm" method="post">
    <?php foreach($products as $product) { ?>
        <input type="hidden" name="products[]" value="<?php echo $product; ?>" >
    <?php } ?>
    <input type="submit" value="Buy" class="buy_button">
</form>
<?php $products = $_POST["products"]; ?>
<?php
    foreach($products as $product)
        echo $product['model'];
 ?>

当然,一切都不起作用。我不知道为什么。
感谢您的关注。

在发送之前将其编码为JSON:

<form action="index.php?route=common/fittingForm" method="post">
       <input type="hidden" name="products" value="<?php echo json_encode($products);?>">
    <input type="submit" value="Buy" class="buy_button">
</form>


另一页对我来说意味着一个单独的请求。您的情况是否都在同一个请求中?好吧,我将数组传递到第一页(1个请求),从第一页开始,我将数组发送给控制器。所以有两个要求。很抱歉,如果我不理解你的问题,我的英语也不是完美无缺的。如果是2个或更多请求,即重定向,那么你必须将数组存储在某个位置,如
$\u SESSION
、db或文件中。我在按下submit按钮后出错“警告:为foreach()提供的参数无效”在第3行的C:\apache\localhost\www\webshop.kg\catalog\view\theme\default\template\common\fittingForm.tpl中”。你知道怎么解决这个问题吗?哦,对不起,我忘了通知你之前解码它。。。我已经更新了我的答案
<?php
$products = json_decode($_POST["products"]);
    foreach($products as $product)
        echo $product['model'];
?>