我试图从多个数组中获取文本,我得到了第一个和第二个数组但是无法从第三个数组获取文本。 你可以在这里看到我的代码:
<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
答案 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} }循环没有。