-1

我有以下数组(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>';
}

一如既往地感谢,

4

2 回答 2

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>';
}
于 2013-11-01T12:14:52.260 回答
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]
}
于 2013-11-01T12:20:49.940 回答