如果在数组中,则禁用选项不起作用

时间:2018-07-31 12:28:02

标签: php arrays multidimensional-array

我尝试了search_arrayin_array的很多事情,但都没有成功。

在下面,您将看到我的数组print_r

Array
(
    [0] => 126289214111111
    [1] => 126289214222222
    [2] => 1
    [3] => 2
    [4] => 12345678
)


$fields="*",$order="",$limit="") {
    $clientsIds = $db->select('clients','','','facebookPageId');

    $clientIdArray = [];
    foreach($clientsIds as $clientsId){
      $clientIdArray[] = $clientsId['facebookPageId'];
    }

    print_r($clientIdArray);

那么我想要的是以下代码:

                      <div class="form-group">
                        <label for="facebookPageId">Facebook pagina ID</label>
                        <select name="facebookPageId" id="facebookPageId" class="form-control">
                          <option>-- Selecteer een pagina --</option>
                        <?php
                        foreach($adminPages as $page){
if(in_array($page['id'],$clientIdArray)){
                          echo '<option value="'.$page['id'].'" disabled>'.$page['name'].'</option>';
}else{
echo '<option value="'.$page['id'].'">'.$page['name'].'</option>';
}
                        }
                        ?>
                        </select>
                      </div>

我想要的是:如果$page['id'] == '126289214111111'比它需要被禁用。 我想念的是什么:(

2 个答案:

答案 0 :(得分:0)

只需根据任何条件设置字符串即可。

<?php
foreach($adminPages as $page){
    $disabled = ($page['id'] == $checkValue) ? ' disabled="disabled" ' : null;
    echo '<option value="'.$page['id'].'"' . $disabled . '>'.$page['name'].'</option>'; 
}

现在,您对每个选项都已禁用回显。

答案 1 :(得分:-1)

                foreach($adminPages as $page){
                  $disabled = '';
                  if($page['id'] == '126289214105971') {
                     $disabled = 'disabled';
                  }
                  echo '<option 
                    value="'.$page['id'].'"'.$disabled.'">'.$page['name'].'</option>';   
                }

如果您验证了foreach中的字符串,则可以将变量设置为禁用并将其传递给选项