Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Массивы с числовыми индексами




PHP

PHP - Препроцессор гипертекста. Это серверный язык программирования, созданный специально для динамических страниц Web. Язык был первоначально разработан в 1994 г. Расмусом Лердорфом и был с тех пор расширен, чтобы стать одним из наиболее популярных языков сценариев WWW. Согласно статистике Netcraft в 2005 г. PHP использовался более чем на 23000000 доменах. Подобно другим типам серверных языков, таких, как ASP, ASP.NET и JSP, код PHP обрабатывается на сервере Web и создает код HTML или другой вывод, который можно увидеть в браузере. В отличие от других серверных языков, PHP является продуктом с открытым исходным кодом — это означает, что каждый имеет доступ к исходному коду и может использовать, изменять и распространять его полностью бесплатно.

Текущая версия PHP имеет номер 5. Систему PHP5 можно применять практически с любым типом операционной системы и сервера Web. Однако, чтобы сценарии PHP были обработаны, должен быть установлен интерпретатор PHP. Это программное обеспечение доступно в двух формах – полный исходный код и исполняемые двоичные файлы. Большинство систем Linux поставляются с исходным кодом PHP.

Соединение HTML и PHP

Код PHP обычно объединяется с тегами HTML. PHP является встраиваемым языком — это означает, что можно перемещаться между чистым кодом HTML и PHP, не жертвуя возможностью чтения текста.

Чтобы встроить код PHP в HTML, PHP должен задаваться обособленно, с помощью начального и конечного тегов PHP. Теги PHP говорят серверу Web, где начинается и заканчивается код PHP. Анализатор PHP распознает три варианта начального и конечного тегов.

  • Стиль XML

· <?php

· Блок кода PHP

?>

Первый вариант тегов PHP называется тегами в стиле XML и является предпочтительным стилем. Он работает в документах Расширяемого языка разметки (XML). Этот метод должен использоваться при соединении PHP с документами XML и XHTML.

Сокращенный стиль

· <?

· Блок кода PHP

?>

Сокращенный стиль является самым простым, однако, вступает в противоречие с объявлениями документов XML.

  • Стиль сценария (script)

· <script language="php">

· Блок кода PHP

</script>

Этот стиль использует самую длинную запись и похож на стиль тегов, применяемых с JavaScript. Этот стиль является предпочтительным при использовании редактора HTML, который не распознает другие стили тегов.

Блоки сценария могут размещаться в любом месте документа HTML, в том месте, где сценарий создает и показывает свой вывод. Следующий пример страницы HTML иллюстрирует использование трех форматов тегов сценария.

 

<p>

<?php echo "Это базовый документ PHP";?>

</p>

 

<p>

<? print "PHP – это здорово!";?>

</p>

 

<p>

 

<script language="php">

$myvar = "Hello World! ";

echo $myvar;

</script>

 

</p>

 

В предыдущем примере три блока PHP включены в документ HTML. Первый блок использует открывающий и закрывающий теги <?php...?>. Сегмент кода использует оператор PHP echo для вывода строки "Это базовый документ PHP" в окне браузера.

Второй блок применяет теги <?...?> для пометки начала и конца кода PHP. Этот раздел применяет оператор PHP print (другое имя оператора echo) для вывода на экране текста "PHP – это здорово!".

Наконец, третий блок использует блок сценария <script language="php">... </script> для определения начала и конца кода PHP. В коде строка "Hello World!" присваивается переменной $myvar, а оператор echo выводит значение $myvar в окне браузера.

Это базовая страница PHP.

 

PHP – это здорово!

 

Hello World!

Пример показанного выше кода включает теги HTML, теги PHP, операторы PHP и разделители. Когда пользователь запрашивает страницу PHP, сервер обрабатывает весь код PHP. Когда страница PHP просматривается в окне браузера, выводится только текст между открывающим и закрывающим тегами HTML или PHP. Никакой реальный код PHP не виден при просмотре исходного кода в окне браузера. Причина в том, что интерпретатор PHP выполняет сценарий на сервере и заменяет код результатом вывода работы сценария. Только этот вывод передается браузеру. Это одна из характеристик, которая делает PHP серверным языком сценариев, в отличие от JavaScript, языка сценариев клиента.

Вывод контента

PHP содержит два основных оператора для вывода текста в браузере Web: echo и print.

Оба оператора, echo и print, кодируются между открывающим и закрывающим тегами блока кода PHP и могут находиться в любом месте в документах HTML.

Операторы echo и print используют следующий формат:

echo – используется для вывода одной или нескольких строк.

echo "Выводимый текст";

print – используется для вывода строки. В некоторых случаях оператор print предлагает большую функциональность, чем оператор echo. Это будет рассмотрено далее в учебнике. Пока print можно считать другим именем оператора echo.

print "Выводимый текст";

Следующие примеры демонстрируют использование и размещение команд echo и print в документе XHTML.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web</title>

</head>

<body>

 

<p>

 

<?php

echo "Это базовый документ PHP";

?>

 

</p>

 

</body>

</html>

В большинстве случаев необходимо выводить целые параграфы в окне браузера или создавать переносы строк при выводе контента. По умолчанию операторы echo и print не создают автоматические переносы строк, необходимо использовать тег <p> или <br> для создания параграфов или переносов строк. Разделители, создаваемые в редакторе HTML с помощью возврата каретки, пробелов и табуляции, игнорируются процессором PHP.

В следующем примере тег параграфа HTML включается в оператор PHP echo. В PHP теги HTML можно применять в операторах print и echo для форматирования вывода. В этих случаях вывод необходимо заключать в двойные кавычки (""), чтобы гарантировать, что браузер не интерпретирует тег буквально и не выведет его как часть строки вывода.

echo "<p>Параграф 1</p>";

echo "<p>Параграф 2</p>";

Без использования тега параграфа HTML предыдущие операторы echo будут выводить контент в следующем виде:

Параграф 1 Параграф 2

При включении тегов параграфов операторы выводятся как два отдельных параграфа.

Параграф 1

 

Параграф 2

Терминатор инструкции

Каждая строка кода PHP должна завершаться терминатором инструкции (признаком конца), в качестве которого используется точка с запятой (;). Терминатор инструкции применяется для отделения одного множества инструкций от другого.

Отсутствие терминатора инструкции может приводить к ошибкам в работе интерпретатора PHP и выводу ошибок в окне браузера. Следующий фрагмент кода показывает распространенную ошибку отсутствия терминатора инструкции.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

 

<p>

 

<?php

 

echo "Эта строка порождает ошибку"

echo "В предыдущей строке отсутствует терминатор инструкции";

 

?>

 

</p>

</body>

</html>

В этом примере в первом операторе echo пропущен терминатор инструкции. Так как интерпретатор PHP не может определить конец первого оператора echo и начало второго, то происходит ошибка. В зависимости от настроек Обработки ошибок (Error Handling) интерпретатора, будет выводиться сообщение об ошибке или браузер выведет просто пустую страницу.

Далее показано типичное сообщение об ошибке, которое выводится, когда пропущен терминатор инструкции:

Parse error: syntax error, unexpected T_PRINT in C:\ApacheRoot\test.php on line 11

Ошибка при разборе: синтаксическая ошибка, непредвиденный T_PRINT в... в строке 11

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

Комментарии в коде

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

Синтаксический анализатор PHP игнорирует комментарии. Комментарии в PHP можно определить одним из следующих способов:

// — простой комментарий PHP;

# — альтернативный простой комментарий PHP;

/*...*/ — многострочные блоки комментариев.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

 

<p>

 

<?php

 

// Простой комментарий PHP

# Другой тип простого комментария PHP

 

/* Многострочный блок комментария PHP

Он может занимать любое необходимое

количество строк */

 

?>

 

</p>

</body>

</html>

Переменные - основа любого языка программирования. Эта лекция о них, кроме того, описаны некоторые встроенные функции PHP, а также рассказано о различии одиночных и двойных кавычек в PHP 5. Скалярные переменные Переменные являются временным местом хранения, используемым для представления значений в сценарии PHP. В PHP имеется два основных типа переменных: скалярные и массивы. Скалярные переменные содержат только одно значение в данный момент времени, а переменные массивы — список значений. Переменные массивы обсуждаются в следующем разделе. Скалярные переменные PHP содержат значения следующих типов. Целые – целые числа или числа без десятичной точки (1, 999, 325812841). Числа с плавающей точкой – числа, содержащие десятичную точку (1.11, 2.5,.44). Строки – текстовая или числовая информация. Строковые данные всегда определяются с помощью кавычек ("Hello World", "478-477-5555"). Булевы значения – используются для значений true (истина) или false (ложь). Имена переменных PHP всех типов начинаются со знака "$". Имена переменных могут содержать буквы, числа, и символ подчеркивания (_); они не могут, однако, начинаться с цифры. В PHP имена переменных различают регистр символов. Следующие переменные в PHP интерпретируются как две различные переменные. $myvar $MYVAR Допустимые имена переменных: $myvar $F_Name $address1 $my_string_variable Недопустимые имена переменных: Myvar $1stvar $&62## Скалярным переменным PHP присваивают значения в следующем формате: $username = "jdoe" $first_name = "John" $Last_Name = "Doe" Переменная username содержит значение jdoe. 6. Вывод переменных Следующий фрагмент кода демонстрирует, как объявить скалярную переменную, присвоить скалярной переменной значение и вывести результаты в окне браузера: <!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Страница Web</title> </head> <body>   <p>   <?php   $string_var = "Моя программа PHP"; $integer_var = 500; $float_var = 2.25;     echo $string_var; echo $integer_var; echo $float_var;   ?>   </p> </body> </html> Переменные массивы PHP можно создавать и присваивать им значения с помощью конструкции array() или явным образом. Переменную можно соединять с другими переменными или тегами HTML с помощью оператора PHP — точки (.). В предыдущем блоке кода значения переменных выводятся в следующем формате: Моя программа PHP5002.25 Чтобы создать возврат каретки или перенос строки, можно присоединить тег HTML <br/> в конце каждой пременной: <?php   $string_var = "My PHP program". "<br/>"; $integer_var = 500. "<br/>"; $float_var = 2.25;     echo $string_var; echo $integer_var; echo $float_var;   ?> Теперь после каждой переменной вставляется перенос строки, что приводит к выводу каждого значения на отдельной строке. My PHP Program 2.25 7. Соединение переменных Оператор точки можно использовать также для соединения строк и переменных: Сообщение — The user\'s name is John Doe — выводится в окне браузера. Строка "The user's name is " соединяется со значением $fname (John), за которым следует пробел " ", и значением $lname (Doe). <!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Web Page</title> </head> <body>   <p>   <?php   $fname = "John"; $lname = "Doe";   echo "The user\'s name is ". $fname." ". $lname;   ?>   </p> </body> </html> The user\'s name is John Doe 8. Интерполяция PHP поддерживает также процесс, называемый интерполяцией – замену переменной в строке ее содержимым. Вместо соединения переменных и литералов, их можно объединять внутри двойных кавычек (""). Интерполяция является свойством только двойных кавычек. Переменные и литералы нельзя объединить внутри одиночных кавычек. При использовании двойных кавычек значение переменной выводится вместе с литералом. При использовании одиночных кавычек выводится "буквально" имя переменной вместе с остальной строкой. Следующий пример иллюстрирует свойство интерполяции PHP. <!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Web Page</title> </head> <body>   <p>   <?php   $fname = "John"; $lname = "Doe";   echo "The user\'s name is $fname $lname";   ?>   </p> </body> </html> Этот код создает такой же вывод, как и предыдущий пример. Здесь переменные объединяются с помощью литеральной строки, заключенной в двойные кавычки. Соединение (конкатенация) не требуется.

Переменные массивы

В то время как скалярная переменная PHP хранит одно значение, переменную массива можно использовать для хранения множества или последовательности значений. Система PHP поддерживает массивы с числовыми индексами и ассоциативные массивы. Массив в PHP является фактически упорядоченным отображением. Отображение является типом, который отображает значения в ключи. Переменные массивов состоят из двух частей – индекса и элемента. Индекс массива, иногда называемый ключом массива, является значением, применяемым для идентификации или доступа к элементам массива. Индекс массива помещается в квадратные скобки. Большинство массивов используют числовые индексы, которые обычно начинаются с 0 или 1. В PHP ассоциативные массивы могут использовать строковые индексы. Оба типа массивов создаются с помощью конструкции array().

Массивы с числовыми индексами

$my_array = array('red', 'green', 'blue');

Этот код создает массив с числовым индексом с именем $my_array. Массиву присваивается три элемента — red, green, и blue. Каждый элемент идентифицируется числовым индексом.

$my_array[0] = 'red' // индекс 0 соответствует элементу red

$my_array[1] = 'green' // индекс 1 соответствует элементу green

$my_array[2] = 'blue' // индекс 2 соответствует элементу blue

Чтобы получить доступ к содержимому массива, используется имя массива и индекс. Следующий код применяется для вывода значений переменной $my_array.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

 

<p>

 

<?php

 

$my_array = array('red', 'green', 'blue');

 

echo "Первое значение массива — ". $my_array[0];"<br/>";

echo "Второе значение массива — ". $my_array[1];"<br/>";

echo "Третье значение массива — ". $my_array[2];"<br/>";

 

?>

 

</p>

</body>

</html>

Первое значение массива — red

Второе значение массива — green

Третье значение массива — blue

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

Ассоциативные массивы позволяют использовать более полезные значения индекса. Для массивов с числовыми индексами значения индекса создаются автоматически, начиная с 0. Ассоциативные массивы допускают применение числовых и строковых значений индекса. Символ между индексом и значениями (=>) является знаком равенства, за которым сразу следует символ больше.

$members = array('FName' => 'John', 'LName' => 'Smith', 'Age' => 50)

В этом примере члены массива содержат три элемента, однако используются строковые индексы — FName, LName и Age.

$members['FName'] = 'John' //индекс FName соответствует элементу John

$members['LName'] = 'Smith' // индекс LName соответствует элементу Smith

$members['Age'] = '50' // индекс Age соответствует элементу 50

Для доступа к содержимому массива используется имя массива и индекс. Следующий код применяется для вывода значений переменной $members.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

 

<p>

 

<?php

 

$members = array('FName' => 'John', 'LName' => 'Smith', 'Age' => 50);

 

echo "The user\'s first name is ". $members['FName'];

echo "The user\'s last name is ". $members['LName'];

echo "The user\'s age is ". $members['Age'];

 

?>

 

</p>

</body>

</html>

 

The user's first name is John

The user's last name is Smith

The user's age is 50

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...