【问题标题】:Yet another simple php array looping newbie另一个简单的 php 数组循环新手
【发布时间】:2012-05-18 04:43:39
【问题描述】:

抱歉,我确信这很容易,但我花了很长时间试图解决这个简单的问题。我有一个名为$listOfLinks 的数组。当我print_r 这是输出:

Array ( [0] => Array ( [LinkID] => 1 [GroupID] => 1 [Description] => Home [Title] => Home Page [Hyperlink] => [Target] => ) [1] => Array ( [LinkID] => 2 [GroupID] => 1 [Description] => View Employees [Title] => View Employees [Hyperlink] => Views/ViewEmployees.php [Target] => ) )

我想循环通过数组打印出诸如Title 之类的东西。到目前为止,我的代码如下所示:

foreach($listOfLinks as $key => $element)
{
    echo $key["Title"];
}

出了点问题,因为输出绝对没有。没有错误。消息什么的。我一直在尝试遵循http://www.tizag.com/phpT/arrays.php 上的建议,但我似乎误解了一些东西。

这个指向Foreach loop returning null values in PHP? 的链接看起来很有希望,但最终证明这是一个与我无关的简单问题。 PHP: Loop through multidimensional array and establish parent-child relationships between array items 也很有希望,但它没有合适的解决方案。我以为我和这个Simple array question in PHP 很接近,但结果证明它是无关的。这看起来也很有希望,但事实并非如此。 PHP Yet another Multidimensional Associative Array problem

看起来答案在Another php array looping question,但我不明白它是否在那里。

请不要因为这么简单的问题而讨厌我。我真的一直在努力理解这一点。

【问题讨论】:

    标签: php arrays loops


    【解决方案1】:

    当使用您使用的foreach 语法进行循环时,您希望使用$element 变量(包含当前项目的数据),而不是$key 一个 (仅包含当前项在数组中的索引)

    foreach($listOfLinks as $key => $element)
    {
        echo $element["Title"];
    }
    

    另外,由于您没有使用每个项目的键,您可以使用以下更短的语法:

    foreach($listOfLinks as $element)
    {
        echo $element["Title"];
    }
    

    【讨论】:

    • 很好的答案@Pascal 但我已将勾选授予 xbonez,因为他首先回答并且几乎没有您所做的声誉。你的回答同样好。希望这是公平的。谢谢。
    【解决方案2】:
    foreach($listOfLinks as $value)
    {
        echo $value["Title"];
    }
    

    您正在做的是对键进行索引。而是索引到数组元素中。

    【讨论】:

      猜你喜欢
      • 2011-06-05
      • 2021-06-05
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      相关资源
      最近更新 更多