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

标签 php arrays post multidimensional-array

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

<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>

并解码它:

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

关于php - 通过 POST 发送现有的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19918723/

相关文章:

PHP Mysql - 在 Select 语句中使用变量作为列名

c - 多线程程序 POSIX

c - 如何将实际字符存储到数组中?

php - 使用 PHPMailer 会导致许多电子邮件被阻止

php - 如何修剪 mp3 文件?

使用ajax的php-mysql登录系统

php - 移动带键 PHP 数组中的键/值

php - 如何使用 laravel 将表单中的数据发布到数据库中?

java - ReSTLet 不支持 POST 请求中的 JSON

javascript - 将 Integer[] 列表从 ajax 发送到 Spring Controller