替代foreach()PHP?

时间:2011-08-03 19:36:46

标签: php foreach

我仍然是PHP的新手,而且他们所有的例子似乎都使用了foreach语句。

e.g。

foreach ($variable as $row)

但是我不认为我应该一直使用它,例如变量或对象,我只有一个数组中有一行或一个实例。

我知道将它们用于多行是有利的,如果使用for循环可能会错过它们。

但我真的需要用它来回显一个数组中的一个变量吗?

e.g。例如这个变量$ stats

array(3) { ["user_interventions"]=> int(4) ["fastest_intervention"]=> array(1) { [0]=> object(stdClass)#22 (1) { ["duration"]=> string(8) "02:10:00" } } ["slowest_intervention"]=> array(1) { [0]=> object(stdClass)#23 (1) { ["duration"]=> string(8) "02:26:00" } } } 

由于

4 个答案:

答案 0 :(得分:4)

如果您知道数组中值的“地址”,那么就不需要循环:

echo $arr['user_interventions'][0]['duration']; // 02:10:00

更多详情here

答案 1 :(得分:1)

您不必在此使用foreach,但不能只使用print $array

如果您对数组编制索引,则可以打印如下内容:

print 'Key is '.$array['key'].' but index is only'.$array['index'];

答案 2 :(得分:1)

不,每次需要访问数组值时都不需要使用foreach循环。您的示例可以按以下方式使用...

echo $stats['fastest_intervention']['0']->duration; // Outputs: 02:10:00

这是带缩进的变量转储(使其更易于阅读)。

array(3) {
    ["user_interventions"]=> int(4)
    ["fastest_intervention"]=> array(1) {
        [0]=> object(stdClass)#22 (1) {
            ["duration"]=> string(8) "02:10:00"
        }
    }
    ["slowest_intervention"]=> array(1) {
        [0]=> object(stdClass)#23 (1) {
            ["duration"]=> string(8) "02:26:00"
        }
    }
} 

答案 3 :(得分:0)

您只需使用[]访问变量。 print $array['key']