我遇到从select选项接收数组数据的问题。请参阅下面的代码
这是我的html文件
<?php
$data = array(
"id" => "1",
"name" => "John"
);
?>
<select name="member">
<option value="`<?php echo $data; ?>`">John</option>
</select>
这是我的php文件
$val = $_POST["member"];
echo $val["id"];
答案 0 :(得分:1)
如果您确实想从表单传递数组,我强烈建议您使用序列化功能。
所以在你的代码中。
<select name="member">
<option value="`<?php echo serialize($data); ?>`">John</option>
</select>
然后在你的后端,
$data = unserialize($_POST["member"]);
试试这个。我希望这会有所帮助。
答案 1 :(得分:0)
你的意思是?
<select name="member">
<option value="<?php echo $data['id']; ?>">
<?php echo $data['name']; ?>
</option>
</select>
因为在您的代码中,您使用的<?php echo $data; ?>
不会打印数组中的值,而是使用字符串Array
作为变量的类型。
答案 2 :(得分:0)
只需使用ID并在服务器上查看其他信息。像这样的东西(PHP FIDDLE)(http://phpfiddle.org/main/code/mvr-zde)