如果我的二维数组只有一行,是否必须使用 foreach 循环? [重复]

问题描述 投票:0回答:4

我对 PHP 还很陌生,从周围的所有示例来看,它们似乎都使用了 foreach 语句。

例如

foreach ($variable as $row)

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

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

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

例如例如这个变量 $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"
        }
    }
} 
php arrays foreach
4个回答
4
投票

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

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

更多详情这里


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

1
投票

这里不需要使用

foreach
但你不能只使用
print $array

如果你有数组索引,你可能会打印类似的内容:

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

0
投票

您只需使用 [] 访问变量。

print $array['key']

© www.soinside.com 2019 - 2024. All rights reserved.