массивы — Что означает «массив_выражение»? значит в 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){}
2

Другие решения

От Руководство по PHPстраница описания

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

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

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

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

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

приведет:

int(1) int(2) int(3)
1

По вопросам рекламы [email protected]