Альтернатива foreach () PHP? - PullRequest
       4

Альтернатива foreach () PHP?

2 голосов
/ 03 августа 2011

Я все еще очень плохо знаком с 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" } } } 

Спасибо

Ответы [ 4 ]

4 голосов
/ 03 августа 2011

если вы знаете «адрес» значения в вашем массиве, тогда цикл не нужен:

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

Подробнее здесь .

1 голос
/ 03 августа 2011

Нет, вам не нужно использовать цикл 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 голос
/ 03 августа 2011

Вам не нужно использовать foreach здесь, но вы не можете просто print $array

, если вы индексируете массив, вы можете напечатать что-то вроде:

print 'Key is '.$array['key'].' but index is only'.$array['index'];
0 голосов
/ 03 августа 2011

Вы просто получаете доступ к переменным, используя []. print $array['key']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...