我正在尝试从多数组中获取文本,我得到了第一个和第二个数组,但无法从第三个数组中获取文本。 你可以在这里看到我的代码:
<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
当给出
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()
会处理索引本身,而 for
循环则不会。