0

多渔政船数组值我在PHP中的多维数组这样为了获得在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的结果。请帮我解答。

+1

请分享你试过循环。也许有一个可以修复的简单错误。它表明你真的尝试过。 – Wiseguy 2012-08-13 19:11:48

+0

我发布了一个答案,并且一旦我知道你至少先试了一下,它就会取消删除。 – Matt 2012-08-13 19:14:16

+3

也许这只是我,但当人们问我'因为它'比'请'更短时,我只想告诉他们'不',因为它比'是'短。 – Quasdunk 2012-08-13 19:14:37

回答

3

我的解决办法:

+0

Smaht。只是,Smaht。 – FrankieTheKneeMan 2012-08-13 19:18:30

+0

不错。我想不出'array_shift()',所以我使用“获取第一行,跳过循环中的第一行”方法。 – Matt 2012-08-13 19:24:34

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

这对你的循环来说是一个奇怪的构造。你应该使用foreach($ shop,作为$ i => $ row) - 它更容易阅读。 – FrankieTheKneeMan 2012-08-13 19:17:24

+1

好点!我会编辑。 – Matt 2012-08-13 19:18:08

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