如果目标变量是单个值,我有这段代码可以正常工作
假设 $bank_country 是一个单一的值,比如巴西,没有问题
<select class="form-control" multiple="1" name="country[]">
<option<? echo ($bank_country == 'Albania') ? ' selected="selected"' : ''; ?> value="Albania">Albania</option>
<option<? echo ($bank_country == 'Algeria') ? ' selected="selected"' : '';?> value="Algeria">Algeria</option>
<option<? echo ($bank_country == 'American Samoa') ? ' selected="selected"' : '';?> value="American Samoa">American Samoa</option>
<option<? echo ($bank_country == 'Andorra') ? ' selected="selected"' : '';?> value="Andorra">Andorra</option>
<option<? echo ($bank_country == 'Angola') ? ' selected="selected"' : '';?> value="Angola">Angola</option>
但是因为我的值是倍数,所以它可能会这样发生
Brazil*Germany*Spain
我有这段代码
if(strstr($bank_country,"*"))
{
$country_arr = explode("*",$bank_country);
foreach($country_arr as $cca)
{
//code to echo out country with select on country that match
}
}
当我的国家有多个值时,我该如何回显它,它可以让巴西用 selected="selected"回显,德国和西类牙也是如此。
我想了一会儿,不知道如何附加到我的代码中,让它在这个国家执行 Multiple if 条件,然后再用 selected="selected"回显
感谢您的帮助!!
最佳答案
你可以使用 in_array
.
检查 !empty($country_arr)
数组是否存在,如果不存在,您将只有一个国家。
if (strstr($bank_country,"*")) {
$country_arr = explode("*", $bank_country);
}
<option<? echo ((!empty($country_arr) && in_array('Albania', $country_arr)) || $bank_country == 'Albania') ? ' selected="selected"' : ''; ?> value="Albania">Albania</option>
关于php - 在 PHP 中针对数组选择的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094025/