Php 将数组作为表单中选项的值传递

Php 将数组作为表单中选项的值传递,php,html,forms,Php,Html,Forms,我当前正在尝试将数组作为select中的选项值发送,但在发送表单后无法访问数据 echo '<select id="domainResults_domaines" name="domainResults_domaines">'; foreach($domainsFound as $domain){ echo '<option value="'.$domain.'">'.$domain['domaine'].'</option>'; } echo '&l

我当前正在尝试将数组作为select中的选项值发送,但在发送表单后无法访问数据

echo '<select id="domainResults_domaines" name="domainResults_domaines">';
foreach($domainsFound as $domain){
    echo '<option value="'.$domain.'">'.$domain['domaine'].'</option>';
}
echo '</select>';
echo';
foreach($domainsfoundas$domain){
回显'.$domain['domaine'].';
}
回声';
$domain
数组包含2个值,我希望在发送表单后能够访问这两个值。是否有方法将数组作为值发送,或者是否有其他方法在单个选项中传递2个变量

谢谢你的帮助。

试试:

echo '<select id="domainResults_domaines" name="domainResults_domaines">';
foreach($domainsFound as $key=>$value){
    echo '<option value="'.$key.'">'.$value.'</option>';
}
echo '</select>';
echo';
foreach($domainsfoundas$key=>$value){
回显“.$value.”;
}
回声';

签出。

值必须是字符串,您可以使用类似于json_encode的东西来设置值,并使用json_decode将数组恢复到服务器端

foreach($domainsFound as $domain){
    echo '<option value="'.htmlspecialchars(json_encode($domain)).'">'.$domain['domaine'].'</option>';
}
foreach($domainsfoundas$domain){
回显'.$domain['domaine'].';
}

我刚刚试过这样做,它删除了源代码中数组到字符串的转换。然而,在我发送表单之后,我做了
var_dump(json_decode($_POST['domainResults\u domaines'))json_encode
将定期包含
@OlivierParentau为了正确转义,我在示例中添加了htmlspecialchars。如果这不起作用,并且您只需要这些值,那么尝试这样做:内爆(“,”,数组_值($domain));并在服务器上再次拆分此字符串。我使用此方法传递键作为值,并添加隐藏输入以传递变量。这样,我可以使用键为所选域获取正确的隐藏输入。这可能不是最有效的方法,但效果很好。