【问题标题】:Multidimensional array foreach function多维数组 foreach 函数
【发布时间】:2017-05-30 01:09:43
【问题描述】:

我有一个多维数组,我使用foreach() 将其显示为菜单。但只显示最后一个元素。有人可以解释为什么会发生这种情况以及如何解决吗?

{$sql = $mysqli->query("SELECT ID, Nome, ID2 FROM tipo WHERE Tipo2 IS NULL ORDER by ID, ID2");

$result2 = $sql->fetch_all(MYSQLI_ASSOC);

print_r ($result2);
mysqli_free_result($sql);
 }

?>

<ul>

<?php

{reset($result2);
extract ($result2);

foreach ($result2 as $row);

echo "<li><a href=\"/{$row['Nome']}/\">{$row['Nome']}</a></li>";
} ?>
</ul>

数组:

Array (
    [0] => Array ( [ID] => 1 [Nome] => Example1 [ID2] => 1 )
    [1] => Array ( [ID] => 2 [Nome] => Example2 [ID2] => 2 )
    [2] => Array ( [ID] => 3 [Nome] => Example3 [ID2] => 3 )
) 

只会显示 Example3。

(由于其他原因,我使用不同的 ID,我会做一个动态菜单,但不是现在。)

【问题讨论】:

    标签: php arrays loops multidimensional-array echo


    【解决方案1】:

    那是因为foreach ($result2 as $row); 迭代整个数组而没有被告知做任何事情。

    然后,当它完成时,您将回显最后一个迭代行。

    只需更改为:

    foreach ($result2 as $row){
        echo "<li><a href=\"/{$row['Nome']}/\">{$row['Nome']}</a></li>";
    }
    

    附言摆脱:{reset($result2);extract ($result2);

    【讨论】:

      猜你喜欢
      • 2012-08-14
      • 2013-11-02
      • 2015-03-01
      • 2017-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多