内部foreach循环检查条件并仅中断php中的内部循环

时间:2019-04-14 14:19:31

标签: php laravel

我有两个嵌套的foreach循环,我只希望内部循环检查条件。如果满足或不满足,则终止内部循环并返回外部循环。

在我的情况下,根据我对问题的了解,内部循环总是需要运行一次。

  

问题:两个数组。首先拥有所有选择。第二只选择。现在算出ID。如果匹配=>打印已选中,否则=>未选中。

我尝试过休息;但是内部循环只检查第一项,然后执行其他部分的所有迭代。

@php
foreach($propertyAmenities as $amenity){
   foreach($property->amenities as $new){ 
        if( ($amenity->type == 'amenity') && ($amenity->id == $new->id) ){
        @endphp
        <label class="checkbox-inline control-label">
            <input type="checkbox" name="amenity[]" value="{{$amenity->id}}" {{'checked'}}>{{ $amenity->name }}
        </label>                         
        @php break;                       
          } 
        elseif(($amenity->type == 'amenity')){ @endphp
            <label class="checkbox-inline control-label">
                <input type="checkbox" name="amenity[]" value="{{$amenity->id}}">{{ $amenity->name }}
            </label> 
        @php break;
            }                                                                    
         }
      }
@endphp

它第一次检查并在下次仅打印ifelse部分时打印“ checked”。我不知道为什么 只检查第一个。

所有其他选项保持未选中状态。

1 个答案:

答案 0 :(得分:1)

您可以通过在视图中将选定的选项作为数组传递来简化代码。

label1