这是reservation.php文件:
这是checkout.php文件代码:
我无法将所选选项值打印到页面。刚刚选择的数组键被打印出来。
答案 0 :(得分:0)
选择选项只会返回"值"。 由于没有使用数组键(基于您的代码),只需这样做:
echo "<option value='$transferName'>$transferName</option>";
这样您就可以获得转移名称而不是密钥。
答案 1 :(得分:0)
有很多方法可以实现这一目标。
其中一种 直观 方法是将键和字符串组合成一个字符串,使用&#34; special&#34;中间的字符串/标记来拆分这些值。
例如,
"aaa" => "bbb"
然后你可以将这两者结合起来,例如&#34; aaa :: bbb &#34;,用&#34; :: &#34 ;作为中间的分裂者。您可以使用explode()分隔密钥和密钥。 checkout.php 文件中的值。
<强> reservation.php 强>
<form action="checkout.php" method="post">
<select name="transferTypes" id="transferTypes" required>
<?php
$transferTypes = array(
"aaa" => "bbb",
"ccc" => "ddd"
);
echo "<option value='' selected disable>yadayadayada .. </option>";
foreach($transferTypes as $transferKey => $transferName) {
$combine = $transferKey . "::" . $transferName; // combine key::value here
echo "<option value='$combine'>$transferName</option>";
}
?>
</select>
<input type="submit" value="submit">
</form>
<强> checkout.php 强>
<?php
list($key, $value) = explode("::" , $_POST['transferTypes']);
echo "Key : " . $key . "<br>";
echo "Value : " . $value . "<br>";
?>
请注意,这种方法不是在任何地方清理,但它可以完成工作吗?
另一种方法是将$transferTypes
分隔为新文件,将其包含在 reservation.php 和 checkout.php中 ,然后执行array_search()查找密钥。如果我在你这边,我会采取后一种方式。