如果不反复显示标签更新,我想检查两个数组之间是否有重复值。
这是我想要的结果。
这是我发送的信息。
"facility" => array:1 [▼
"Tour Gudie Multilingual" => array:3 [▼
0 => "Speaking Guide - English"
1 => "Audio - Thai"
2 => "Audio - Chinese"
]
]
"facility_new" => array:1 [▼
"Tour Gudie Multilingual" => array:8 [▼
0 => "Audio - Chinese"
1 => "Audio - English"
2 => "Audio - French"
3 => "Audio - German"
4 => "Audio - Indonesia"
5 => "Audio - Russia"
6 => "Audio - Thai"
7 => "Speaking Guide - English"
]
我需要检查facility
和facility_new
是否facility != facility_new
这将显示标签更新和文本颜色为红色。
这是我的代码 detail.blade
<div class="box-body">
@foreach($value['facility_new'] as $fk => $fv)
@foreach($value['facility'][$fk] as $k => $v)
<div class="form-group">
<label class="col-sm-2 control-label">{{$fk}}</label>
<div class="col-sm-10">
@foreach($fv as $key => $value)
<div class="col-md-6" style="padding-bottom: 10px">
@if($v == $value)
<p>
<i class="fa fa-fw fa-check-circle text-green"></i>
<span class="text-blue">{{$value}}</span>
</p>
@else
<p style="color: red">
<i class="fa fa-fw fa-check-circle text-green"></i>
<span class="label label-danger">Update</span>
{{$value}}
</p>
@endif
</div>
@endforeach
</div>
</div>
<hr>
@endforeach
@endforeach
</div>
但是我认为我有两个要解决的问题。 1.碎片整理。这些设施和2是我发布的内容。
答案 0 :(得分:0)
我能想到的一种解决方案是,首先像这样获得两个数组之间的唯一值:
$result = array_map('unserialize',
array_diff(array_map('serialize', $facilityNew['Tour Gudie Multilingual']),
array_map('serialize', $facility['Tour Gudie Multilingual'])));
*请注意,我们将新值与旧值进行比较。
然后在您的视图中,可以检查新阵列中是否不存在$value
,可以显示红色/更新按钮。
in_array($value, $result) // this should go in your @if condition