如何从我的数组中选择php中的Option?

时间:2015-05-29 06:05:58

标签: php

我正在尝试从给定的数组中选择值。如果在数组中返回相同的值,我需要选择该选项。如何做到这一点?

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>

3 个答案:

答案 0 :(得分:0)

在使用数组之前使用array_unique()函数。

$DesinerEdit = array_unique($DesignerGet);

它会删除重复的值,您可以根据需要使用该数组。

Refer php manual for this function

答案 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数组中,那么它将被选中,否则