Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php多维数组从html隐藏字段传递到php_Php_Html - Fatal编程技术网

将php多维数组从html隐藏字段传递到php

将php多维数组从html隐藏字段传递到php,php,html,Php,Html,我们希望将隐藏输入字段中的php数组从html传递到php。如何将数组从html传递到php <?php $data = array( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) ); ?> <form name="ex

我们希望将隐藏输入字段中的php数组从html传递到php。如何将数组从html传递到php

    <?php 
        $data = array(
         array("Volvo",22,18),
         array("BMW",15,13),
         array("Saab",5,2),
         array("Land Rover",17,15)
       );
    ?>


    <form name="excel_upload" id="excel_upload" action="" method="post">
    <input type="hidden" name="data[]"  >
    <input type="submit">
    </form>

您不能按原样发送数组,但可以使用以下方法实现同样的效果

<form name="excel_upload" id="excel_upload" action="" method="post">
    <?php 
       $i = 1;
       foreach($cars as $car){

    ?>  
    <input type="hidden" name="car<?php echo $i; ?>" value="<?php $car; ?>" >
    <?php
          $i++;
      }
    ?>
    <input type="submit">
</form>


您不能按原样发送数组,但可以使用以下方法实现同样的效果

<form name="excel_upload" id="excel_upload" action="" method="post">
    <?php 
       $i = 1;
       foreach($cars as $car){

    ?>  
    <input type="hidden" name="car<?php echo $i; ?>" value="<?php $car; ?>" >
    <?php
          $i++;
      }
    ?>
    <input type="submit">
</form>


可以有多个同名的隐藏输入,如果名称包含括号,PHP将把它们作为数组进行解析。有关更多详细信息,请参阅此答案:

例如:

    <form name="excel_upload" id="excel_upload" action="" method="post">
    <input type="hidden" name="data[]" value="Volvo" >
    <input type="hidden" name="data[]" value="BMW" >
    <input type="hidden" name="data[]" value="Toyota" >
    <input type="submit">
    </form>

您可以有多个同名的隐藏输入,如果名称包含括号,PHP将把它们作为数组进行解析。有关更多详细信息,请参阅此答案:

例如:

    <form name="excel_upload" id="excel_upload" action="" method="post">
    <input type="hidden" name="data[]" value="Volvo" >
    <input type="hidden" name="data[]" value="BMW" >
    <input type="hidden" name="data[]" value="Toyota" >
    <input type="submit">
    </form>




从表单传递数组的最佳方法是以序列化格式发送

<form name="excel_upload" id="excel_upload" action="" method="post">
<input type="hidden" name="data" value="<?php echo serialize($cars); ?>" >
<input type="submit">
</form>


从表单传递数组的最佳方法是以序列化格式发送

<form name="excel_upload" id="excel_upload" action="" method="post">
<input type="hidden" name="data" value="<?php echo serialize($cars); ?>" >
<input type="submit">
</form>

试试这个:

<!DOCTYPE html>
<html lang="en">
    <?php
    $data = array(
        array("Volvo", 22, 18),
        array("BMW", 15, 13),
        array("Saab", 5, 2),
        array("Land Rover", 17, 15)
    );

    if (isset($_POST['submit'])) {
        print_r($_POST['data']);
    }
    ?>
    <body>
        <form method="post" action="">
            <?php
            foreach ($data as $key => $val) {
                foreach ($val as $k => $v) {
                    ?>
                    <input type="hidden" name="data[<?php echo $key; ?>][<?php echo $k ?>]" value="<?php echo $v; ?>">
                    <?php
                    echo "<br>";
                }
            }
            ?>
            <input type="submit" name="submit">
        </form>
    </body>
</body>
</html>

试试这个:

<!DOCTYPE html>
<html lang="en">
    <?php
    $data = array(
        array("Volvo", 22, 18),
        array("BMW", 15, 13),
        array("Saab", 5, 2),
        array("Land Rover", 17, 15)
    );

    if (isset($_POST['submit'])) {
        print_r($_POST['data']);
    }
    ?>
    <body>
        <form method="post" action="">
            <?php
            foreach ($data as $key => $val) {
                foreach ($val as $k => $v) {
                    ?>
                    <input type="hidden" name="data[<?php echo $key; ?>][<?php echo $k ?>]" value="<?php echo $v; ?>">
                    <?php
                    echo "<br>";
                }
            }
            ?>
            <input type="submit" name="submit">
        </form>
    </body>
</body>
</html>


最后,在尝试了很多方法之后,这个方法对我来说非常有效,使用了序列化和反序列化

HTML:


最后,在尝试了很多方法之后,这个方法对我来说非常有效,使用了序列化和反序列化

HTML:


嗨,你能澄清你的问题吗?嗨,你能澄清你的问题吗?