我正在尝试从给定的数组中选择值。如果在数组中返回相同的值,我需要选择该选项。如何做到这一点?
HTML
<select multiple="" class="Designers" style="width: 100px;">
<option value="JOhn">JOhn</option>
<option value="JOhn1">JOhn1</option>
<option value="JOhn2">JOhn2</option>
</select>
PHP
Array ( [0] => JOhn[1] => JOhn2);
$DesignerGet = Array ( [0] => JOhn[1] => JOhn2[2] => JOhn2);
$DesinerEdit = explode(',',$DesignerGet);
<?php if('JOhn2' == 'JOhn2'){ ?>
<option value="JOhn1">JOhn1</option>
<?php } ?>
预期结果
<select multiple="" class="Designers" style="width: 100px;">
<option value="JOhn" selected>JOhn</option>
<option value="JOhn1">JOhn1</option>
<option value="JOhn2" selected>JOhn2</option>
</select>
答案 0 :(得分:0)
在使用数组之前使用array_unique()函数。
$DesinerEdit = array_unique($DesignerGet);
它会删除重复的值,您可以根据需要使用该数组。
答案 1 :(得分:0)
试试这个:
$DesignerGet = Array ( [0] => JOhn[1] => JOhn2[2] => JOhn2);
foreach($DesinerEdit as $key=>$val)
{
$selected = ($val == 'JOhn1')?"selected ='selected' ":'';
<option value="JOhn1" <?php echo $selected ?>>JOhn1</option>
}
答案 2 :(得分:0)
试试这种方式..
<?php
$arra = Array ('JOhn','JOhn2');
$option = Array ('JOhn','JOhn1','JOhn2');
?>
<select multiple class="Designers" style="width: 100px;">
<?php foreach($option as $key => $value){?>
<option value="<?php echo $value;?>" <?php echo (in_array($value,$arra)) ? 'selected' : '';?>><?php echo $value;?></option>
<?php }?>
</select>
这里我使用in_array
函数检查值,如果值在get数组中,那么它将被选中,否则