我有下面的arrray(print_r显示):
Array ( [address] => Array ( [0] => ikea, 17 Old Main Road, dubai ) [idDelAddress] => Array ( [0] => 102 ) )
我想将其转换为一个选择框,其中[address]
是显示的文本,[idDelAddress]
是要与表单一起发布的值。
它们似乎是两个独立的数组。
我试过这个,但显然它不能完全运作。
foreach ($customeraddresses['address'] as $key => $value) {
echo $key;
echo "<br>";
echo $value;
// echo '<option value="'.$key.'">'.$value.'</option>';
}
一如既往地谢谢,
答案 0 :(得分:2)
它应该。您是否在select
代码周围添加了option
代码?
<select>
<?php
foreach ($customeraddresses['address'] as $key => $value) {
echo '<option value="'.$key.'">'.$value.'</option>';
}
?>
</select>
你有一个奇怪的数组结构。你有一个数组只有一个值...数组看起来应该是这样的。
Array (
[102] => 'ikea, 17 Old Main Road, dubai '
)
如果你不能改变它的结构,你必须做一个更复杂的代码。像这样:
$countAddresses = count($customeraddresses['address']);
for($i = 0; $i < $countAddresses; ++$i) {
echo '<option value="' . $customeraddresses['idDelAddress'][$i] . '">' . $customeraddresses['address'][$i] . '</option>';
}
答案 1 :(得分:1)
实际上你的阵列没有最好的结构,无论如何(如果我的结构正确)你可以做以下
echo '<option value="'.$customeraddresses['idDelAddress'][0].'">'.$customeraddresses['address'][0].'</option>';
如果你的阵列更大,你可以做
for($i = 0; $i < sizeof($customeraddresses['address']); $i++) {
// key -> $customeraddresses['idDelAddress'][$i]
// val -> $customeraddresses['address'][$i]
}