简体   繁体   English

如何处理foreach里面的foreach?

[英]How to handle foreach inside foreach?

I need to follow the concept of "DRY" So I have a lot of repetition in my code.我需要遵循“DRY”的概念,所以我的代码中有很多重复。 decided to make it short as I can!决定尽可能缩短!

The design that I need to reach is:我需要达到的设计是: 在此处输入图片说明

my shut:我的关闭:

   @php
        $names = [
            'main','settings', 'admins','roles'
        ];
        $values = [
            'main_page','setting','admin','role'
        ];
    @endphp

    @foreach ($names as $name)
        <main class="role_me">
                -- {{ $name }}
            <div class="roles">
                @foreach ($values as $value)
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_read">Read</label>
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_create">Create</label>
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_update">Update</label>
                    <label><input type="checkbox" name="permission[]" value="{{ $value}}_delete">Delete</label>
                @endforeach
            </div>
        </main>
    @endforeach

The output of my code is:我的代码的输出是:

在此处输入图片说明

Here we require two loops to display those menu and their sub menus.这里我们需要两个循环来显示这些菜单及其子菜单。 Try this尝试这个

$action = ["Edit", "Read", "Delete", "Add"];

$categories = ["Menu", "Roles", "Users"];

for($i = 0; $i < count($categories); $i++) {
    echo $categories[$i]. "<br>";
    for($j = 0; $j < count($action); $j++) {
       echo $categories[$i]. " " .$action[$j] . "<br>";
    }
}

Output like this.像这样输出。

Menu
Menu Edit
Menu Read
Menu Delete
Menu Add
Roles
Roles Edit
Roles Read
Roles Delete
Roles Add
Users
Users Edit
Users Read
Users Delete
Users Add

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM