簡體   English   中英

如何比較多個數組中的鍵和值?

[英]How to compare key and value in multiple array?

我必須將下拉列表與多個數組進行比較,我的第一個數組是

 [menu_master] => Array
(
    [master/city] => City
    [master/national_holiday] => National Holiday
    [master/operator_comments] => Operator Comments
    [master/sensors] => Sensors
    [master/modbus] => Modbus
    [master/manufacturers] => Manufacturers
    [master/make_model] => Make Model
)

我的第二個數組是

 [role_assign] => Array
(
    [1] => View
    [2] => Write
)

我的第三個數組是來自數據庫

    [database_fetch] => Array
        (
            [master/city] => 1
            [master/national_holiday] => 2
            [master/operator_comments] => 1
            [master/sensors] => 2
            [master/modbus] => 1
            [master/manufacturers] => 2
            [master/make_model] => 1
)

現在這些數組適用於以下代碼。 我想顯示來自數據庫獲取數組的下拉列表的選定選項。

<?php
                    $menu_manster =  menu_master();
                    $i = 1;
                    foreach($menu_manster as $k => $val) {
                    ?>
                    <tr>
                      <td>{{ $i }}</td>
                      <td class="mailbox-name">{{ $val }}</td>
                      <td><?php $roles_assign =  roles_assign_id(); ?>
                            <select class="form-control master-menu" name="master_menu[{{$k}}]">
                              <option value="">Select Role</option>
                                <?php 

                                    foreach ($roles_assign as $key => $value) { 
                                ?>
                                <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
                              <?php } ?>
                            </select>
                      </td>
                    </tr>
                    <?php $i++;  } ?>

$roles_assign循環中,您必須檢查$value是否與database_fetch項的$value匹配。 假設您已將database_fetch數據存儲在名為$database_fetch的變量中,則解決方案如下所示:

<?php
$menu_manster =  menu_master();
$i = 1;
foreach($menu_manster as $k => $val) {
?>
<tr>
  <td>{{ $i }}</td>
  <td class="mailbox-name">{{ $val }}</td>
  <td><?php $roles_assign =  roles_assign_id(); ?>
        <select class="form-control master-menu" name="master_menu[{{$k}}]">
          <option value="">Select Role</option>
            <?php 

                foreach ($roles_assign as $key => $value) { 
            ?>
            <option value="<?php echo $key; ?>"<?=($database_fetch[$k] === $key ? ' selected' : '')?>><?php echo $value; ?></option>
          <?php } ?>
        </select>
  </td>
</tr>
<?php $i++;  } ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM