可以使用php动态设置下拉列表中的选定值

可以使用php动态设置下拉列表中的选定值,php,html,drop-down-menu,Php,Html,Drop Down Menu,我需要在下拉列表中使用PHP动态选择值,但在我的例子中,它并没有按预期工作。我在下面解释我的代码 <?php $citySelected = ""; if(!isset($_GET['city'])){ $citySelected = 'selected="selected"'; } ?> <select id="selectedLoc" name="selectedLoc" class="chosen-select form-contr

我需要在下拉列表中使用PHP动态选择值,但在我的例子中,它并没有按预期工作。我在下面解释我的代码

<?php
    $citySelected = "";
    if(!isset($_GET['city'])){
        $citySelected = 'selected="selected"';
    }
?>
<select id="selectedLoc" name="selectedLoc" class="chosen-select form-control">
    <option value="">Select City</option>
    <option value="0" <?php echo $citySelected; ?>>Global</option>
    <?php 
        foreach ($locationArr as $key => $value) {

            $id = $value['id'];
            $city = $value['city'];
            $location = $value['location'];

            $selected = "";
            if(isset($_GET['city']) &&  $_GET['city']== $value['id']) {
                $selected ='selected="selected"';
            }
            echo "<option value='$id' $selected>$location</option>";

        }
    ?>
</select>

选择城市

内部if条件“;”他失踪了。应该是

if(isset($_GET['city']) &&  $_GET['city']== $value['id']){echo ' selected="selected"';}else{echo '';}
也可以使用条件运算符简化代码,例如:-

<?php echo (isset($_GET['city']) &&  $_GET['city']== $value['id'])? ' selected="selected"':''; ?>