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

时间:2013-11-12 00:28:17

标签: php arrays post multidimensional-array

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

<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'];
 ?>

当然一切都行不通。我不知道为什么。 谢谢你的关注。

1 个答案:

答案 0 :(得分:2)

在发送之前将其编码为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>

并解码它:

<?php
$products = json_decode($_POST["products"]);
    foreach($products as $product)
        echo $product['model'];
?>