【问题标题】:PHP options for extracting data from an array?用于从数组中提取数据的 PHP 选项?
【发布时间】:2009-11-25 07:03:41
【问题描述】:

给定这个二维数组,每个元素都有两个索引——行和列。

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

【问题讨论】:

    标签: php


    【解决方案1】:
    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 灵活。

    【讨论】:

      【解决方案2】:

      你也可以使用

      foreach($shop as $shoprow)

      【讨论】:

        猜你喜欢
        • 2023-03-11
        • 2019-07-18
        • 2015-05-08
        • 1970-01-01
        • 1970-01-01
        • 2016-02-03
        • 1970-01-01
        • 1970-01-01
        • 2012-11-19
        相关资源
        最近更新 更多