鉴于这个二维数组,每个元素都有两个索引 - 行和列。
<?php
$shop = array( array("rose", 1.25 , 15),
array("daisy", 0.75 , 25),
array("orchid", 1.15 , 7)
);
?>
这是我使用行索引和列索引从数组中提取数据的唯一两个选项吗?
<?php
echo "<h1>Manual access to each element</h1>";
echo $shop[0][0]." costs ".$shop[0][1]." and you get ".$shop[0][2]."<br />";
echo $shop[1][0]." costs ".$shop[1][1]." and you get ".$shop[1][2]."<br />";
echo $shop[2][0]." costs ".$shop[2][1]." and you get ".$shop[2][2]."<br />";
echo "<h1>Using loops to display array elements</h1>";
echo "<ol>";
for ($row = 0; $row < 3; $row++)
{
echo "<li><b>The row number $row</b>";
echo "<ul>";
for ($col = 0; $col < 3; $col++)
{
echo "<li>".$shop[$row][$col]."</li>";
}
echo "</ul>";
echo "</li>";
}
echo "</ol>";
?>
答案 0 :(得分:3)
foreach($shop as $items){
echo $items[0]." costs ".$items[1]." and you get ".$items[2]."<br />";
}
对于我来说,foreach似乎更简单,如果您的密钥不是像这样的数字,它会处理
array( 'foo' => array("rose", 1.25 , 15),
'bar' => array("daisy", 0.75 , 25),
'foobar' =>array("orchid", 1.15 , 7)
);
我个人避免在PHP中使用for
,因为它在大多数情况下不如foreach
灵活。
答案 1 :(得分:0)
您也可以使用
foreach($ shop as $ shoprow)