[英]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.