Войти

Показать полную графическую версию : [PHP] Переменные


CXREF
14-06-2009, 14:50
Область видимости переменных в PHP.
Есть файл php, страничка. В нем в перемешку PHP и HTML. Ситуевина такая:

Пример файла nhkikikj.php:

<?
$var = 'anydata';
?>

<SPAN BLA-bla-bla>...</SPAN><DIV BLA-bla-bla>...</DIV>

<?
include( 'two.php ' ) ;

...
?>

Сперва идет кусок кода на PHP(там обьявляется некая переменная $var) , затем участок кода HTML, и затем опять PHP. Во втором участке PHP кода, переменная $var становится видна с помощью GLOBAL $var или же при помощи супермассива $GKOBALS[ "var" ]. Все в порядке, но... Я подключаю 'two.php ' и далее по коду вызываю из этого файла функцию которая должна использовать переменную $var, так-вот, как я ни пытался зделать видимой переменную $var - ни чено не выходит. Ни GLOBAL, ни супергловал не помогают. Как-то использовать STATIC не пробовал, вроде не из этой оперы. Так ка-же поступают в таких случаях, Неужели придумывать выкрутасы с передачей по GET и т. п. или c сессиями и кукисами?

PS: Выход нашел, оказывается надо передать эту переменную в функцию, в качестве аргумента :), благо что всего одна ф-ия использует ее. Но ведь теоретически переменная должна была стать видимой епть, и че?

CXREF
16-06-2009, 07:49
Оказывавается, дело обстоит не так. Из второго кода php вызывается не функция, а генерится ссылка, HREF которой равен файлу php(напр. <A href="exists.php">vbx</A>) , в котором и нужно увидеть переменную! Сразу говорю, что передать нужно массив.

Igor_I
16-06-2009, 08:15
Неправильно заданный вопрос. Много букв, смысла мало.
http://ru2.php.net/manual/ru/language.variables.scope.php




© OSzone.net 2001-2012