【问题标题】:To get the multi dimention array values in php在php中获取多维数组值
【发布时间】:2012-08-10 01:27:04
【问题描述】:

我在php中有一个这样的多维数组

$shop = array( 
               array("name","point","number"),
               array('Ranjit', 1.25 , 15),
               array('Pitabas', 0.75 , 25),
               array('Khela', 1.15 , 7) 
             ); 

现在我必须像这样显示输出

name-> ranjit
Point-> 1.25
number->15
name->Pitabas
Point->0.75
number->25
name->Khela
Point->1.15
number->7

我正在尝试 for 循环,但我可以在嵌套的 forloop 中得到结果。请帮我解答。

【问题讨论】:

  • 请分享您尝试过的循环。也许有一个可以修复的简单错误。它向人们展示了你真正尝试过的东西。
  • 我发布了一个答案,一旦我知道你至少先尝试过,我就会取消删除它。
  • 也许只有我一个人,但是当人们问我“plz”因为它比“please”短时,我只想告诉他们“不”,因为它比“yes”短。

标签: php arrays multidimensional-array foreach associative-array


【解决方案1】:

这应该会给出所需的输出:

for($x = 1, $lim = sizeof($shop); $x < $lim; $x++)
{
    echo $shop[0][0]."->".$shop[$x][0]."<br>";
    echo $shop[0][1]."->".$shop[$x][1]."<br>";
    echo $shop[0][2]."->".$shop[$x][2]."<br>";
}

【讨论】:

    【解决方案2】:

    您知道第一行将是标题,因此将它们分开存储:

    $titles = $shop[0];
    

    这会给你

    $titles = array('name', 'point', 'number');
    

    然后循环遍历你的数组:

    foreach ($shop as $index => $row) {
        if ($index == 0) 
            continue;
    
        foreach($row as $column => $item) {
            echo $titles[$column] . " -&gt; " . $item . "<br />";
        }
    }
    

    【讨论】:

    • 这对你的循环来说是一个奇怪的结构。你应该使用 foreach($shop as $i=>$row) - 它更容易阅读。
    【解决方案3】:

    我的解决方案:

    $headings = array_shift($shop);
    
    foreach ($shop as $item) {
      foreach ($item as $key => $value) {
        echo $headings[$key], '=>', $value;
      }
    }
    

    【讨论】:

    • 不错。想不到array_shift(),所以我使用了“获取第一行,循环跳过第一行”的方法。
    【解决方案4】:

    这是一个简单的循环:观察我们跳过了外部数组的第一个元素,它被认为包含标题:

    for ($i = 1; $i != count($shop); ++$i)
    {
        print $shop[0][0] . ": ". $shop[$i][0] . "\n";
        print $shop[0][1] . ": ". $shop[$i][1] . "\n";
        print $shop[0][2] . ": ". $shop[$i][2] . "\n";
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 2018-12-10
      相关资源
      最近更新 更多