将php多维数组从html隐藏字段传递到php
我们希望将隐藏输入字段中的php数组从html传递到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
$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:
嗨,你能澄清你的问题吗?嗨,你能澄清你的问题吗?