Проверьте наличие дублирующихся значений между двумя массивами.Если не продублировано, покажите обновление метки - PullRequest
0 голосов
/ 15 декабря 2018

Я хотел бы проверить наличие дублирующих значений между двумя массивами, если не показывать неоднократно обновление ярлыка.

Это результат, который я хочу.

enter image description here

Это информация, которую я отправил.

"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 - то, что я отправляю.

1 Ответ

0 голосов
/ 15 декабря 2018

Решение, которое я могу придумать, состоит в том, чтобы сначала получить уникальные значения между двумя массивами, например:

$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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...