Php 在textarea中获取选定的多个值

Php 在textarea中获取选定的多个值,php,html,selected,Php,Html,Selected,我有一个db_字段(短代码),在提交查询时返回一个字符串。返回的值是AB,EF,GH(正是这个 第二部分是我有一个文本区域,其中有一个短代码列表,所以我试图突出显示(选择)相同的macthed元素。 例如: $String_in_Database = AB,EF,GH; 希望: <select name="Country[]" id="Country" multiple="multiple" size="5"> <option value="AB" selected>A

我有一个db_字段(短代码),在提交查询时返回一个字符串。返回的值是AB,EF,GH(正是这个

第二部分是我有一个文本区域,其中有一个短代码列表,所以我试图突出显示(选择)相同的macthed元素。 例如:

$String_in_Database = AB,EF,GH;
希望:

<select name="Country[]" id="Country" multiple="multiple" size="5">
<option value="AB" selected>AB</option>
<option value="CD">CD</option>
<option value="EF" selected>EF</option>
<option value="GH" selected>GH</option>
......
</select>

AB
光盘
环境足迹
生长激素
......
以下是我生成选项的方式:

<?php $MyArray = $settingsUser['set_disallowcountries']; ?>
<?php foreach($disallCountry as $key => $value) { ?>
<option value="<?php echo $value['short'] ?>" <?php if(is_array($value['short'], $MyArray)) { echo 'selected'; }?>><?php echo $value['long'] ?></option>
<?php } ?>


也许你想把这个字符串分解成数组

 $MyArray = explode(",",$String_in_Database);

我对这个问题有点不确定,所以你想检查用户是否选择了国家,是否在选项下拉框中选择了

<?php
$userSelected= explode(",", $string_in_database);
$allCountries = array('AA', 'BB', 'CC');
foreach($allCountries as $country)
    if(in_array($country["short"], $myArray){
        $selected = 'selected';
    } else {
        $selected = '';
    }
    echo '<option value="'.$country["short"].'" '.$selected.'>'.$country["long"].'</option>';
}

是的,成功了!谢谢你,科辛:)