数组内的多个数组

时间:2017-08-07 18:11:10

标签: php arrays boost-multi-array

我试图从多个数组中获取文本,我得到了第一个和第二个数组但是无法从第三个数组获取文本。 你可以在这里看到我的代码:

<div class="personTools">
    <ul>
        <?php
            for ($i = 0; $i < count($toolsMenu["TOOLS_MENU"]) ; $i++){
        ?>
        <div class="dropdown">
            <li><?php echo $toolsMenu["TOOLS_MENU"][$i]; ?> <span class="fa fa-caret-down"></span></li>
            <div class="dropdown-content">
                <?php
                    for ($d = 0; $d < count ($toolsMenu["TOOLS_MENU"][$i]); $d++) {
                ?>
                        <li><?php echo $toolsMenu["TOOLS_MENU"][$i][$d]; ?> </li>
                <?php
                    }
                ?>
            </div>
        </div>
        <?php
            }
        ?>
    </ul>
</div>

和我的阵列在这里:

$toolsMenu = array(
    "TOOLS_MENU" => array(
            "تجربة 1" => array(1, 2, 3, 4),
            "تجربة 2" => array(1, 2, 3, 4),
            "تجربة 3" => array(1, 2, 3, 4),
            "تجربة 4" => array(1, 2, 3, 4)
     )
);

我的问题是:为什么我收到此消息?

Notice: Undefined offset: 0 in C:\wamp64\www\mazadi\tmpl\html.tpl on line

1 个答案:

答案 0 :(得分:2)

foreach()给出时,为什么要使用for(): -

<div class="personTools">
    <ul>
        <?php
            foreach ($toolsMenu["TOOLS_MENU"] as $key=> $toolsM){
        ?>
        <div class="dropdown">
            <li><?php echo $key; ?> <span class="fa fa-caret-down"></span></li>
            <div class="dropdown-content">
                <?php
                    foreach ($toolsM as $tools) {
                ?>
                        <li><?php echo $tools; ?> </li>
                <?php
                    }
                ?>
            </div>
        </div>
        <?php
            }
        ?>
    </ul>
</div>

注意: - 如果能够使用for来处理事情,尽量避免foreach()循环,因为foreach()负责索引本身,{{1} }循环没有。