如何在php中从post接收数组数据?
我从选择选项接收阵列数据时遇到问题。请参阅下面的代码 这是我的html文件如何在php中从post接收数组数据?,php,Php,我从选择选项接收阵列数据时遇到问题。请参阅下面的代码 这是我的html文件 <?php $data = array( "id" => "1", "name" => "John" ); ?> <select name="member"> <option value="`<?php echo $data; ?>`">John</option>
<?php
$data = array(
"id" => "1",
"name" => "John"
);
?>
<select name="member">
<option value="`<?php echo $data; ?>`">John</option>
</select>
你是说
<select name="member">
<option value="<?php echo $data['id']; ?>">
<?php echo $data['name']; ?>
</option>
</select>
因为在代码中,您使用的是
,它不打印数组中的值,而是字符串数组
,它是变量的类型。只需使用ID并在服务器上检查其他信息。类似这样的(PHP FIDDLE)(如果您确实希望从表单传递数组,我强烈建议您使用serialize函数
所以在你的代码中
<select name="member">
<option value="`<?php echo serialize($data); ?>`">John</option>
</select>
试试这个。我希望这能有所帮助。请尝试重新回答这个问题。@CORRUPT您在陈述的开头加了一个
$
。var_dump是一个函数,而不是一个变量。$val=$\u POST['member']
将是一个字符串,而不是数组。因此,$val['id']
将失败。您不能像回音一样回音数组。您的小提琴在第二次提交时无法工作,请检查一下。我打算将其用于1次提交。如果您想再次显示,只需在if语句下重新添加数据。对不起,我的代码和英语不好。我只希望在选项标签中有一个数组,我将在后端使用它的索引
<select name="member">
<option value="`<?php echo serialize($data); ?>`">John</option>
</select>
$data = unserialize($_POST["member"]);