Начало работы с PHP часть 2

Начало работы с PHP - часть 2

В предыдущем уроке мы упомянули основные типы переменных в PHP. Здесь мы рассмотрим некоторые основные операции и связанные с ними функции..

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

Начнем с того, что переменная в PHP инициализируется в тот момент, когда мы впервые устанавливаем для нее значение.

Ошибки для неопределенных переменных

Если мы попытаемся использовать переменную сравнения или другую операцию до ее инициализации, это не завершит наш скрипт. Он по-прежнему будет выдавать ошибку уведомления. Большинство серверов настроены так, чтобы вообще не отображать этот тип ошибок. Однако это вопрос качественного программирования, а не их генерации..

Если у нас есть:

?php echo $ a; ?>

Это приведет к ошибке: Примечание: неопределенная переменная: a в file.php в строке 2

Правильный способ сделать это:

?php $ a = ‘Hello World’;
echo $ a; ?>

Результатом будет текст «Hello World»..

Что именно делает эхо?

Это команда, которая преобразует в строковый тип все, что написано после нее, и выводит ее. Под «отображением» подразумевается, что если мы вставим этот код в страницу HTML, после его выполнения этот текст будет отображаться на месте. Итак, если у нас есть:

h1>? php echo ‘Hello World!’; ?> / х1>

Что попадет в браузер после разбора PHP-кода с сервера:

h1> Привет, мир! / h1>

В частности, этот пример немного бессмысленен, так как PHP не нужно писать этот текст. Но если бы он был сгенерирован программно с использованием базы данных или чего-то еще, то мы уже могли бы изменить этот заголовок..

Параметры URL / аргументы GET

Чтобы сделать его немного более интересным, мы можем использовать отправку переменных в скрипт через URL-адрес, по которому мы получаем к нему доступ..

Читать также:  Начало работы в PHP

Если наша страница находится по адресу http: //localhost/test.php, то мы можем отправить аргумент GET, добавив «?» После URL-адреса страницы. Это отделяет часть запроса от общего URL-адреса. Затем напишите ключ переменной, а затем знак равенства и значения. Примерно так: http: //localhost/test.php? Name = Georgi

К аналогичным аргументам GET можно получить доступ через PHP с помощью суперглобальной переменной $ _GET, тип которой является массивом..

Массивы в PHP

Прежде чем показывать новый пример, в котором используются аргументы GET, скажем несколько слов о синтаксисе PHP для массивов..

Новый массив создается с помощью функции array (). Значения массива разделяются запятыми:

$ my_array = массив (1, 2, 3, 4);

Мы можем добавить новый элемент в массив следующим образом:

$ my_array = массив (1, 2, 3, 4); $ my_array [] = 5;

Это добавит пятый элемент в массив.

Массивы в PHP не ограничиваются элементами одного типа. Итак, в массиве мы можем иметь числа, логические значения, строковые литералы и другие массивы и все, что захотим:

Смешанные массивы данных

$ my_array = array (1, 2.5, true, ‘некоторая строка’, array (‘second’, ‘array’, ‘inside’, ‘the’, ‘first’, ‘one’));

Чтобы получить доступ к элементу массива, мы используем квадратные скобки и индекс элемента, к которому мы хотим получить доступ. Помните, что номер имеет индекс 0 левов, поэтому первый элемент — [0]:

$ colors = array (‘красный’, ‘зеленый’, ‘синий’); echo $ colors [1]; // это будет "зеленый"

В PHP есть еще один тип массивов — ассоциативный. Это позволяет индексам быть не только числами, но и строками:

Ассоциативные массивы

$ colors = array (‘red’ => ‘# FF0000’, ‘green’ => ‘# 00FF00’, ‘blue’ => ‘# 0000FF’);

При описании того, какой индекс получить какое значение, мы используем знаки =>, как показано в примере выше. В нем мы использовали имена цветов в качестве ключей, а значение элемента массива с данным ключом является HEX-представлением данного цвета..

Читать также:  Математика программирование и часы

$ _GET суперглобальный массив

Суперглобальная переменная $ _GET — это ассоциативный массив, элементами которого являются параметры запроса из URL-адреса текущей страницы. Итак, если мы снова посмотрим на URL, описанный выше: http: //localhost/test.php? Name = Georgi, в этом случае в $ _GET у нас будет элемент с именем ключа, значение которого — Georgi:

if ($ _GET [‘name’] == ‘Георгий’) {echo ‘Привет, Георгий!’; } else {echo ‘Hello Stranger’; }

В приведенном выше примере будет отображаться "Hello Georgi", если мы воспользуемся образцом URL..

Чтобы сделать его более интересным, мы можем запрограммировать сценарий, чтобы он говорил «Привет» и имя, о котором идет речь, каким бы оно ни было. Для этого нам нужно объединить строки.

Конкатенация в PHP

В PHP это делается не со знаком «+», как в большинстве других языков на основе C, а с точкой — .:

эхо "Привет". $ _GET [‘имя’];

Одиночные и двойные кавычки

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

Хотя в других языках нет разницы между строками в одинарных и двойных кавычках, в PHP одинарные кавычки показывают, что именно в них содержится. Двойники, с другой стороны, будут отображать значение переменной, если она была передана..

У двойных кавычек есть и другие особенности — они анализируют символ новой строки — \ n или табуляцию — \ t. Если мы запишем их в одинарные кавычки, мы увидим точно такие же символы.

Если мы хотим включить еще одну двойную кавычку в выражение с двойными кавычками или аналогичным образом с одинарными, мы можем экранировать его с помощью \:

Читать также:  Запросы AJAX с кешированием

echo ‘Сказать \’ Привет \ »; echo "Скажи \" Привет \ "";

Обладая этими знаниями, мы можем изменить приведенный выше сценарий на:

$ name = $ _GET [‘имя’]; echo "Привет, $ name";

Почему у нас сначала $ name = $ _GET [‘name’]?

Из-за квадратных скобок и одинарной кавычки в массиве. В общем, эти специальные символы немного проблематичны для синтаксического анализатора двойных кавычек. Поэтому мы сначала устанавливаем значение другой переменной и используем его в строке.

К счастью, есть более простой способ, нам просто нужно заключить переменную в фигурные (большие) скобки:

echo "Здравствуйте, {$ _GET [‘name’]}!";

Пока все хорошо, но если мы сейчас откроем страницу без name = Georgi (или другого имени в URL-адресе), мы увидим следующую ошибку: Примечание: Undefined index: name в test.php в строке 2

Это связано с тем, что суперглобальная переменная $ _GET не имеет имени индекса, поэтому у нас нет объявленной переменной.

Эта ошибка не будет видна на производственных серверах, но мы все равно останемся с текстом «Hello!» (Вместе с пробелом) без самого имени. И это не то, что мы хотим.

Проверить, определена ли переменная

Давайте проверим, действительно ли они дали нам ожидаемый аргумент или нам нужно отобразить другой текст:

if (isset ($ _ GET [‘name’])) {echo "Здравствуйте, {$ _GET [‘name’]}!"; } else {echo ‘Hello!’; }

Используя функцию isset, мы проверяем, действительно ли у нас есть ожидаемая переменная. Если условие возвращает true, все в порядке, и мы говорим «Привет» имени, полученному по URL-адресу. Однако, если у нас нет такого имени, то использование $ _GET [‘name’] отобразит ошибку, а мы этого не хотим. В этом случае мы просто говорим «Привет», не обременяя себя именем..

Понравилась статья? Поделиться с друзьями:
Что нужно знать пользователю?