Что означает "array_expression" в php?

http://php.net/manual/en/control-structures.foreach.php

Пытаюсь лучше понять цикл foreach. В документации выше говорится: "Первая форма зацикливается на массиве, заданном array_expression."

Что в мире является выражением array_expression?

2 ответа

Решение

Выражение array_expression - это любое выражение, которое приводит к массиву. Таким образом, это выражения, которые сами по себе не являются массивами, но при вычислении приводят к массиву:

foreach(range(1, 5) as $val){}

Или же:

foreach($array = range(1, 5) as $val){}

Или же:

class Test {
    public static function do_it() {
        return range(1, 5);
    }
}

foreach(Test::do_it() as $val){}

Со страницы описания руководства php

Выражения являются наиболее важными строительными блоками PHP. В PHP почти все, что вы пишете, является выражением. Простейшим, но наиболее точным способом определения выражения является "все, что имеет значение".

Итак, это означает array_expression это просто тупой фиктивный текст, чтобы вы знали, что foreach принимает функцию массива.

В этом случае,

$arr = array(1, 2, 3);

foreach ($arr as $value) {
   var_dump($value);
}

приведет:

int(1) int(2) int(3)
Другие вопросы по тегам