Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Область видимости переменной
Область видимости переменной - это среда, в которой она определена. В большинстве случаев все переменные PHP имеют единую область видимости. Эта единая область видимости охватывает также включаемые ( include ) и требуемые ( require ) файлы. Например: <? php Здесь переменная $a будет доступна внутри включенного скрипта b.inc. Однако внутри определенных пользователем функций вводится локальная область видимости функции. Любая, используемая внутри функции переменная, по умолчанию ограничена локальной областью видимости функции. Например: <? php function Test() Test(); Этот скрипт не сгенерирует никакого вывода, поскольку выражение echo указывает на локальную версию переменной $a, а в пределах этой области видимости ей не не было присвоено значение. Возможно вы заметили, что это немного отличается от языка C в том, что глобальные переменные в C автоматически доступны функциям, если только они не были перезаписаны локальным определением. Это может вызвать некоторые проблемы, поскольку люди могут нечаянно изменить глобальную переменную. В PHP, если глобальная переменная будет использоваться внутри функции, она должна быть объявлена глобальной внутри нее. Ключевое слово global Сначала пример использования global: Пример #1 Использование global <? php function Sum() $b = $a + $b; Sum(); Вышеприведенный скрипт выведет " 3". После определения $a и $b внутри функции как global все ссылки на любую из этих переменных будут указывать на их глобальную версию. Не существует никаких ограничений на количество глобальных переменных, которые могут обрабатываться функцией. Второй способ доступа к переменным глобальной области видимости - использование специального, определяемого PHP массива $GLOBALS. Предыдущий пример может быть переписан так: Сравнение типов и результатов функций
HTML-формы (GET и POST) Когда происходит отправка данных формы PHP-скрипту, информация из этой формы автоматически становится доступной ему. Существует много способов получения этой информации, например: Пример №1 Простая HTML-форма < form action=" foo.php" method=" post" > Имя: < input type=" text" name=" username" /> < br /> Email: < input type=" text" name=" email" /> < br /> < input type=" submit" name=" submit" value=" Отправь меня! " /> < /form>
В зависимости от вашей индивидуальной установки и личных настроек существует много способов доступа к данным из ваших HTML-форм. Вот несколько примеров: Пример №2 Доступ к данным из простой HTML POST-формы <? php // Доступно, начиная с PHP 4.1.0 echo $_POST['username']; echo $_REQUEST['username']; import_request_variables('p', 'p_'); echo $p_username; // Доступно, начиная с PHP 3. Начиная с PHP 5.0.0, эти длинные предопределенные// переменные могут быть отключены директивой register_long_arrays. echo $HTTP_POST_VARS['username']; // Доступно, если директива PHP register_globals = on. Начиная// с PHP 4.2.0, значение по умолчанию register_globals = off.// Использование/доверие этому методу непредпочтительно. echo $username;? >GET-форма используется аналогично, за исключением того, что вместо POST вам нужно будет использовать соответствующую предопределенную переменную GET. GET относится также к QUERY_STRING (информация в URL после '? '). Так, например, http: //www.example.com/test.php? id=3 содержит GET-данные, доступные как $_GET['id']. Пример №3 Более сложные переменные формы <? php echo '< /pre> '; В PHP 3 использование массивов в переменных формы ограничено одномерными массивами. В PHP 4 таких ограничений нет. Имена переменных кнопки-изображения При отправке формы вместо стандартной кнопки можно использовать изображение с помощью тега такого вида: < input type=" image" src=" image.gif" name=" sub" /> Когда пользователь щелкнет где-нибудь на изображении, соответствующая форма будет передана на сервер с двумя дополнительными переменными - sub_x и sub_y. Они содержат координаты нажатия пользователя на изображение. Опытные программисты могут заметить, что на самом деле имена переменных, отправленных браузером, содержат точку, а не подчеркивание, но PHP автоматически конвертирует точку в подчеркивание. HTTP Cookies PHP явно поддерживает HTTP cookies как определено в » спецификации Netscape . Cookies - это механизм для хранения данных в удаленном браузере и отслеживания и идентификации таким образом вернувшихся пользователей. Вы можете установить cookies, используя функцию setcookie(). Cookies являются частью HTTP-заголовка, поэтому функция SetCookie должна вызываться до того, как браузеру будет отправлен какой бы то ни было вывод. Если вы хотите присвоить множество значений одной переменной cookie, вы можете присвоить их как массив. Например: <? php Пример использования setcookie() <? php Любой сценарий PHP состоит из последовательности инструкций. Инструкцией может быть присваивание, вызов функции, повтор кода (цикл), сравнение, или даже инструкция, которая ничего не делает (пустой оператор). После инструкции обычно ставится точка с запятой. Кроме того, инструкции могут быть объединены в блоки заключением их в фигурные скобки. Блок инструкций также сам по себе является инструкцией. if Конструкция if является одной из наиболее важных во многих языках программирования, в том числе и PHP. Она предоставляет возможность условного выполнения фрагментов кода. Структура if реализована в PHP по аналогии с языком C: if (выражение) инструкция
Следующий пример выведет a больше чем b если значение переменной $a больше чем $b: <? php Часто необходимо, чтобы условно выполнялось более одной инструкции. Для этого можно объединить несколько инструкций в блок. Например, следующий код выведет a больше чем b, если значение переменной $a больше чем $b, и затем присвоит значение переменной $a переменной $b: <? php Инструкции if могут быть вложены в другие инструкции if неограниченное количество раз, что даёт большую гибкость в организации условного выполнения различных частей программы. Инструкция; $shop = true; if ($shop) echo " Иду в магазин"; echo " Иду домой"; if (условие){ Инструкция 1; Инструкция 2; } $shop = true; if ($shop){ echo " Иду в магазин"; echo " Покупаю молоко"; } Популярное:
|
Последнее изменение этой страницы: 2016-06-05; Просмотров: 545; Нарушение авторского права страницы