在php中获取多维数组值

时间:2012-08-13 19:09:37

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

我在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

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

4 个答案:

答案 0 :(得分:3)

我的解决方案:

$headings = array_shift($shop);

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

答案 1 :(得分:0)

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

$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 />";
    }
}

答案 2 :(得分:0)

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

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";
}

答案 3 :(得分:0)

这应该给出所需的输出:

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>";
}