PHP foreach数组转换为选项值


PHP foreach array into option value

在不需要提供太多关于正在使用的API的信息的情况下,我正在尝试获取选项值以匹配选项标记中的内容。

类似这样的东西:

<option value="Foo">Bar</option>

这是PHP:

<?php
    $counter = 0;
    $numbers = $client->account->available_phone_numbers->getList('US', 'Local', array(
    "AreaCode" => $_POST["areacode"]));
    echo "<select>";
    foreach($numbers->available_phone_numbers as $number) {
        echo "<option value=''>";
        echo $number->phone_number;
        $counter++;
        echo "</option>";
        echo "<br>";
    }
    echo "</select>";
    echo "<br>";
    echo $counter;
?>

使用此表单:

<form action="index.php" method="post">
    Area Code:<br>
    <input type="text" name="areacode" value=""><br>
    <input type="submit" value="Submit">
</form>

您的语法不正确。

echo '<select>';
foreach($numbers->available_phone_numbers as $number) {
    echo '<option value="' .$number->phone_number .'">';
    echo $number->phone_number;
    echo '</option>';
}
echo '</select>'; 

此外,在select元素中不应该有br标记。

echo "<option value=''>";更改为echo "<option value='{$number->phone_number}'>";

我认为您需要将select移动到表单标记内部,以便提交所选数据。

<form action="index.php" method="post">
echo "<select>";
foreach($numbers->available_phone_numbers as $number) {
echo "<option value='".$number->phone_number."'>";
echo $number->phone_number;
$counter++;
echo "</option>";
echo "<br>";
}
echo "</select>";
echo "<br>";
echo $counter;
?>Area Code:<br>
<input type="text" name="areacode" value=""><br>
<input type="submit" value="Submit">
</form>

希望这能帮助

<?php
$counter = 0;
$numbers = $client->account->available_phone_numbers->getList('US', 'Local',        
array(
"AreaCode" => $_POST["areacode"]
));
?>
<form action="index.php" method="post">
<?php
echo "<select>";
foreach($numbers->available_phone_numbers as $number) {
echo "<option>" . $number->phone_number . "</option>";
$counter++;
}
echo "</select>";
?>
<input type="submit" value="Submit">
</form>