Что означает "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)