Я создаю галерею изображений, используя php. Код, который я использую, аналогичен:Объем переменных в PHP
function ImageBlock() {
$dir = 'img-gallery';
$images = scandir($dir);
$classN = 1;
foreach ($images as $image) {
if ($image != '.' && $image != '..') {
echo '<img class="image' . $classN . '" src="img-gallery/' . $image . '" width="300px"
height="300px">';
}
$classN++;
}
}
Если я вызываю эту функцию в другом файле, она работает. Мой вопрос, если я использую Cose ниже, объявляя переменные вне функции ... она больше не работает:
$dir = 'img-gallery';
$images = scandir($dir);
function ImageBlock() {
$classN = 1;
foreach ($images as $image) {
if ($image != '.' && $image != '..') {
echo '<img class="image' . $classN . '" src="img-gallery/' . $image . '" width="300px"
height="300px">';
}
$classN++;
}
}
Почему, я имею в виду переменную, объявленную вне должна иметь глобальный охват к моему знанию, и должен быть доступен изнутри функции. Разве это не так?
Существует ключевое слово ['global'] (http://php.net/global) для этих случаев. – BlitZ
http://php.net/manual/en/language.variables.scope.php – user4035