从选择选项标签中的数组中选择选定的值

时间:2019-05-05 14:18:58

标签: php arrays

我有一个for-each循环,该循环在编辑模式下填充多个select选项标签,我想选择存储在数据库中的选定选项。

数据库中的值在内部爆炸,如下所示:

$f_r = explode(",",$user['field']);

这是我创建的选项:

<?php  foreach ($fields as $field) : ?>
    <option value="<?= $field['field_name'] ?>" style="direction: rtl" ><?= $field['field_name'] ?></option>
<?php  endforeach; ?>

如何从$f_r值中选择值?

我已经尝试了这段代码,但得到了结果,但是根据数组结果,我的选项标签中的列表已经倾斜:

<select class="selectpicker form-control" name="field[]" id="field" multiple data-live-search="true">
  <?php $f_r = explode(",",$user['field']); ?>
  <!-- Array ( [0] => נדלן פרוייקטים [1] => נדלן פרטי [2] => נדלן פרטי ומסחרי )-->
  <?php  foreach ($fields as $field) : ?>
      <?php foreach ($f_r as $f) : ?>
          <option value="<?= $field['field_name'] ?>" style="direction: rtl" <?php if($f == $user['field']){echo 'selected';} ?> ><?= $field['field_name'] ? </option>
      <?php endforeach; ?>
  <?php  endforeach; ?>
</select>

在没有重复选项的情况下如何使它工作?

1 个答案:

答案 0 :(得分:1)

我想您可以使用in_array。请考虑以下内容:

<?php  foreach ($fields as $field) : ?>
    <option value="<?= $field['field_name'] ?>" style="direction: rtl" <?php if(in_array($field['field_name'], $f_r)) {echo 'selected';} ?> ><?= $field['field_name'] ?></option>
<?php endforeach; ?>

对不起,语法-不在我的电脑上,但希望您能理解...