首页 > 解决方案 > 将变量/字符串与数组进行比较

问题描述

我有一个数据库,它在多选下拉列表中记录先前选择的项目的值。

更新表单选择下拉列表的值,然后我尝试将先前选择的选项显示为“已选择”

代码片段

$speclist = '2, 3, 171, 172';
$result = db_query("SELECT `specid` FROM `specialities` ORDER BY `specname` ASC");
if (mysqli_num_rows($result) > 0) {
     while($row = mysqli_fetch_assoc($result)) {
          $specid = $row['specid'];
          $selected1 = '';
          if (strpos($speclist, $specid) !== false) {
              $selected1 = " selected='selected'";
          }
          echo "<option value='" . $specid . "'".$selected1.">" . $row['specname'] . "</option>";
          $selected1 = '';
      }

但是,selected1如果指定为 2、12、22、32、13、23 等,则正在写入变量

如果 speclist 仅包含 172,则选择 2、17、72 和 172

我该怎么做才能添加selected完全匹配,而不是其他变体?

我知道我可能试图以错误的方式找到匹配项,但找不到解决方案。

标签: phpstring-comparison

解决方案


推荐阅读