0

我在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 中得到结果。请帮助我得到答案。

4

4 回答 4

3

我的解决方案:

$headings = array_shift($shop);

foreach ($shop as $item) {
  foreach ($item as $key => $value) {
    echo $headings[$key], '=>', $value;
  }
}
于 2012-08-13T19:16:24.497 回答
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 />";
    }
}
于 2012-08-13T19:13:50.207 回答
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";
}
于 2012-08-13T19:14:58.833 回答
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>";
}
于 2012-08-13T19:15:03.580 回答