Каждый фрагмент кода PHP в <? php> тег имеют его собственный переменный объем?

Если да там какой-либо способ получить доступ к var, определенному в другом теге фрагмента кода PHP?

9
задан johnk 30 March 2010 в 03:29
поделиться

5 ответов

Нет, не знают. Отдельные теги имеют одну и ту же область видимости переменных. Вы можете получить доступ к любой объявленной переменной из любой области видимости:

<?php $foo = 4; ?>
<?php echo $foo; /* will echo 4 */ ?>

Единственное понятие области видимости в PHP существует для функций или методов. Чтобы использовать глобальную переменную в функции или методе, вы должны использовать массив $ GLOBALS или глобальное объявление $ theVariableINeed; внутри вашей функции.

11
ответ дан 4 December 2019 в 14:27
поделиться

Если у вас есть

<php
$a = '111';
?>

и

<php
echo $a
?>

на одной странице, будет выведено 111, что означает, что он распознает переменные из первого фрагмента PHP.

0
ответ дан 4 December 2019 в 14:27
поделиться

Область видимости переменных в PHP не работает как что.

Переменная оценка работает в классах и функциях. Например:

<?php $a = 10 ?>

<?php echo $a; ?>

Это сработает.

Однако:

<?php
$a = 10;

function get_a(){
  echo $a;
}
?>

Это не сработает. Либо не отображается значение $ a, либо ошибка уровня УВЕДОМЛЕНИЯ (в зависимости от вашей конфигурации)

Для получения дополнительной информации см. Эту страницу .

1
ответ дан 4 December 2019 в 14:27
поделиться

Нет, по умолчанию все файлы в PHP имеют одну и ту же область видимости. Единственная область видимости, которую вы получаете, - это использование классов или функций.

1
ответ дан 4 December 2019 в 14:27
поделиться

Вы можете думать о частях скрипта, НЕ ВХОДЯЩИХ внутри , как об эквиваленте оператора echo, кроме без какой-либо интерполяции переменных, кавычек и т.д. - только . Так, например, вы можете даже сделать что-то вроде этого:

<?php
if (42)
{
?>
    This will only be output if 42 is true.
<?php
}
?>
1
ответ дан 4 December 2019 в 14:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: