Язык php основы синтаксиса и семантики. Основы PHP — Функции PHP. Синтаксис и примеры использования функций PHP. Oбласть видимости переменых

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

Синтаксис:

If (выражение) statement

Может иметь неограниченную степень вложенности в другие IF.

If($a > $b) print "$a больше $b"; $b) { echo "$a больше $b"; $b=$a; } ?>

else

Расширяет возможности IF по части обработки вариантов выражения, когда оно равно FALSE.

Выражение ELSE выполняется только если IF равно FALSE.

If($a>$b) { echo "a больше b"; } else { echo "a не больше b"; }

elseif

Является комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.

If ($a > $b) { echo "a больше b"; } elseif ($a == $b) { echo "a равно b"; } else { echo "a меньше b"; }

if ... endif

Один из возможных вариантов группирования операторов с оператором IF.

Удобно при внедрении больших блоков HTML-кода внутрь оператора IF.

If ($a == 1): echo "a равно 1"; elseif ($a == 2): echo "a равно 2"; else: echo "а не равно 1 и 2"; endif; A=5

Блок HTML-кода A=5 будет виден, если выполнется условие $a==5

while

Простейший тип цикла в PHP. Заставляет PHP выполнять вложенные операторы до тех пор, пока условие равно TRUE. Если условие равно FALSE с самого начала, то цикл не выполнится не разу.

Синтаксис:

WHILE(условие)выражения

Можно сгруппировать несколько операторов внутри фигурных скобок или использовать альтернативный синтаксис: WHILE(условие)выражения... ENDWHILE;

Эти два примера выводят номера с 1 до 5.

do_while

Цикл, аналогичный WHILE, но значение логического выражения проверяется не до, а после окончания итерации. Основное отличие - то что цикл хоть один раз но выполнится.

1); ?>

Можно прекратить использовать блок операторов в середине путем внедрения оператора BREAK в цикл DO..WHILE(0) :

for

Наиболее мощный цикл в PHP.

Синтаксис:

FOR (условие1; условие2; условие3)выражения

  • условие1 - Безусловно выполняется (вычисляется) в начале цикла

(условие2 - Проверяется в начале каждой итерации. Если оно равно TRUE, то цикл продолжается и выполняются вложенные операторы. Если оно равно FALSE, то цикл заканчивается. (условие3 - Выполняется (вычисляется) в конце каждой итерации.

Каждое из этих условий может быть пустым.

Пример1:

For ($a = 1; $a

Пример 2:

For ($a = 1;;$a++) { if ($a > 5) { break; } echo $a; }

Пример 3:

$a = 1; for (;;) { if ($a > 5) { break; } print $a; $a++; }

Пример 4:

For ($a = 1; $a

PHP поддерживает альтернативный синтаксис FOR:

FOR(усл1; уcл2; усл3;):операторы;...;ENDFOR;

break

Прерывает выполнение текущего цикла.

Пример:

$a = 0; while ($a

continue

Переходит на начало ближайшего цикла.

switch

Сравнивает переменную или выражение с различными значениями и выполняет различные фрагменты кода в зависимости от того, чему будет равно значение выражения.

  • default - соответствует всем значениям, которые не удовлетворяют другим CASE. CASE - могут быть любого скалярного типа, т.е. целые числа или числа с плавающей запятой и строки.

require

Заменяет себя содержимым указанного файла.

Пример:

Require("include.inc");

Но его нельзя поместить внутрь цикла и ожидать, что он включит содержимое другого файла несколько раз в процессе каждой итерации. Для этого есть INCLUDE.

include

Вставляет и выполняет содержимое указанного файла.

Так как INCLUDE() это специальный оператор, требуется заключать его в фигурные скобки при использовании внутри условного оператора.

function

Объявление функции.

Внутри функции может быть любой верный код PHP, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.

Возвращение результатов:

  • Результаты возвращаются через необязательный оператор return.
  • Возвращаемый результат может быть любого типа, включая списки и объекты.

Множественные результаты не могут быть возвращены в качестве результата, но вы можете реализовать это путем возврата списка:

Function foo() { return array (0, 1, 2); } list ($zero, $one, $two) = foo();

Аргументы:

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

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

Function takes_array($input) { echo "$input + $input = ", $input+$input; }

По умолчанию, аргументы функции передаются по значению. Для изменения аргументов в функции их надо передавать по ссылке. Для этого надо поставить амперсанд (&) перед именем аргумента в объявлении функции:

Function foo(&$bar) { $bar .= "и добавочная строка."; } $str = "Это строка, "; foo($str); echo $str; // выведет: "Это строка, и добавочная строка." function foo($bar) { $bar .= "и добавочная строка."; } $str = "Это строка, "; foo($str); echo $str; //выведет: "Это строка, " foo(&$str); echo $str; //выведет: "Это строка, и добавочная строка."

Значения по умолчанию:

Значение по умолчанию должно быть константой, а не переменной или членом класса.

Function day ($type = "понедельник") { echo "Сегодня $type."; } echo day(); //выведет: Сегодня понедельник. echo day("вторник"); //выведет: Сегодня вторник.

Аргументы по умолчанию при описании должны находиться справо от остальных аргументов.

Function day($day_num, $type = "понедельник") { return "Сегодня $day_num - $type."; }

old_function

Оператор OLD_FUNCTION позволяет вам определять функцию используя синтаксис PHP/FI2 (за исключением того, что вы должны заменить "function" на "old_function").

Это свойство только для совместимости и должно использоваться лишь конверторами PHP/FI2 -> PHP3. Описанные таким образом функции не могут быть вызваны из служебного кода PHP. Вы можете обойти это путем введения специальной функции в терминах PHP3, которая будет вызывать OLD_FUNCTION.

class

Набор переменных и функций, работающих с этими переменными.

items[$artnr] += $num; } // Убрать $num наименований $artnr из корзины function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } else { return false; } } } ?>

Классы это типы, то есть, заготовки для реальных переменных. Вы должны создавать переменные желаемого типа, используя оператор new :

$cart = new Cart; $cart->add_item("10", 1);

Классы могут быть расширениями других классов. Расширенный класс обладает всеми переменными и функциями базового класса и тем, что вы определите при расширении класса. Это делается используя ключевое слово extends:

Class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; } }

Это определяет класс Named_Cart, который имеет все переменные и функции класса Cart плюс дополнительную переменную $owner и дополнительную функцию set_owner(). Вы можете создать поименованую корзину обычным образом и установить или получить владельца корзины. Также вы можете использовать и нормальные функции корзины в поименованой корзине:

$ncart = new Named_Cart; //Создать корзину $ncart->set_owner ("kris");//Указать владельцаprint $ncart->owner; //Распечатать имя владельца корзины $ncart->add_item ("10", 1);//унаследовано из обычной корзины

Общие понятия

Язык PHP специально предназначен для веб-программирования. PHP сочетает достоинства языков C и Perl и при этом весьма прост в изучении и обладает значительными преимуществами перед традиционными языками программирования.

Синтаксис PHP очень напоминает синтаксис языка C и во многом заимствован из таких языков как Java и Perl.

Программист С очень быстро освоит язык PHP и сможет использовать его с максимальной эффективностью.
В принципе, в PHP есть практически все операторы и функции , имеющиеся в стандартном GNU С (или их аналоги), например есть циклы (while, for), операторы выбора (if, switch), функции работы с файловой системой и процессами (fopen, *dir, stat, unlink, popen, exec), функции ввода-вывода (fgets,fputs,printf) и множество других...

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

PHP и HTML

Cинтаксис любого языка программирования гораздо легче "почувствовать" на примерах, нежели используя какие-то диаграммы и схемы. Поэтому приведем пример простейшего скрипта на PHP:



Пример

echo "Привет, я - скрипт PHP!" ;
?>


Вы уже наверняка заметили, что это классический скрипт, с которого начинают изучение языка программирования.

Обратите внимание, что HTML-код корректно обрабатывается интерпретатором PHP.

Начало сценария вас может озадачить: разве это сценарий? Откуда HTML-тэги и ? Вот тут-то и кроется главная особенность (кстати, чрезвычайно удобная) языка PHP: PHP-скрипт может вообще не отличаться от обычного HTML-документа.

Идем дальше. Вы, наверное, догадались, что сам код сценария начинается после открывающего тэга и заканчивается закрывающим ?> . Итак, между этими двумя тэгами текст интерпретируется как программа, и в HTML-документ не попадает. Если же программе нужно что-то вывести, она должна воспользоваться оператором echo.

Итак, PHP устроен так, что любой текст, который расположен вне программных блоков, ограниченных и ?> , выводится в браузер непосредственно. В этом и заключается главная особенность PHP, в отличие от Perl и C, где вывод осуществляется с помощью стандартных операторов.

Разделение инструкций

Инструкции разделяются также как и в C или Perl - каждое выражение заканчивается точкой с запятой.

Закрывающий тег (?>) также подразумевает конец инструкции, поэтому два следующих фрагмента кода эквиваленты:

echo "Это тест" ;
?>

Комментарии в PHP скриптах

Написание практически любого скрипта не обходится без комментариев.

PHP поддерживает комметарии в стиле "C", "C++" и оболочки Unix. Например:

echo "Это тест" ; // Это однострочный комментарий в стиле c++
/* Это многострочный комментарий
еще одна строка комментария */
echo "Это еще один тест" ;
echo "Последний тест" ; # Это комментарий в стиле оболочки Unix
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними.

Это пример.


Заголовок вверху выведет "Это пример".

Будьте внимательны, следите за отсутствием вложенных "C"-комментариев, они могут появиться во время комментирования больших блоков:

/*
echo "Это тест"; /* Этот комментарий вызовет проблему */
*/
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после // ?> БУДЕТ напечатан: ?> выводит из режима PHP и возвращает в режим HTML, но // не позволяет этого сделать.

Переменные в PHP

Имена переменных обозначаются знаком $ . То же самое "Привет, я - скрипт PHP! " можно получить следующим образом:

$ message = "Привет, я - скрипт PHP!" ;
echo $ message ;
?>

Типы данных в PHP

PHP поддерживает восемь простых типов данных:

Четыре скалярных типа:

Boolean (двоичные данные)
- integer (целые числа)
- float (числа с плавающей точкой или "double")
- string (строки)

Два смешанных типа:

Array (массивы)
- object (объекты)

И два специальных типа:

resource (ресурсы)
NULL ("пустые")

Существуют также несколько псевдотипов:

Mixed (смешанные)
- number (числа)
- callback (обратного вызова)

Подробно о типах данных в PHP

Выражения в PHP

Основными формами выражений являются константы и переменные. Например, если вы записываете "$a = 100", вы присваиваете "100" переменной $a:

В приведенном примере $a - это переменная, = - это оператор присваивания, а 100 - это и есть выражения. Его значение 100.

Выражением может быть и переменная, если ей сопоставлено определенное значение:

$x = 7;
$y = $x;

В первой строке рассмотренного примера выражением является константа 7, а во второй строке - переменная $x, т.к. ранее ей было присвоено значение 7. $y = $x также является выражением.

Подробно о выражениях в PHP вы найдете

Операторы PHP

Оператором называется нечто, состоящее из одного или более значений (выражений, если говорить на жаргоне программирования), которое можно вычислить как новое значение (таким образом, вся конструкция может рассматриваться как выражение).

Примеры операторов PHP:

Операторы присвоения:

$a = ($b = 4 ) + 5 ; // результат: $a установлена значением 9, переменной $b присвоено 4.

?>

Комбинированные операторы:

$a = 3 ;
$a += 5 ; // устанавливает $a значением 8, аналогично записи: $a = $a + 5;
$b = "Hello " ;
$b .= "There!" ; // устанавливает $b строкой "Hello There!", как и $b = $b . "There!";

?>

Строковые операторы:

$a = "Hello " ;
$b = $a . "World!" ; // $b содержит строку "Hello World!"

$a = "Hello " ;
$a .= "World!" ; // $a содержит строку "Hello World!"
?>

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

Подробную информацию по операторам PHP вы найдете .

Управляющие конструкции языка PHP

Основными конструкциями языка PHP являются:

  1. Условные операторы (if, else);
  2. Циклы (while, do-while, for, foreach, break, continue);
  3. Конструкции выбора (switch);
  4. Конструкции объявления (declare);
  5. Конструкции возврата значений (return);
  6. Конструкции включений (require, include).

Примеры конструкций языка PHP:

if ($a > $b ) echo "значение a больше, чем b" ;
?>

Приведенный пример наглядно показывает использование конструкции if совместно с оператором сравнения ($a > $b).

В следующем примере если переменная $a не равна нулю, будет выведена строка "значение a истинно (true), то есть показано взаимодействие условного оператора (конструкции) if с логическим оператором:

if ($a ) echo "значение a истинно (true) " ;
?>

А вот пример цикла while:

$ x = 0 ;
while ($ x ++< 10 ) echo $ x ;
// Выводит 12345678910
?>

Информацию по всем управляющим конструкциям PHP вы можете получить

Пользовательские функции в PHP

В любом языке программирования существуют подпрограммы. В языке C они называются функциями, в ассемблере - подпрограммами, а в Pascal существуют два вида подпрограмм: процедуры и функции.

В PHP такими подпрограммами являются.

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

Приведем пример пользовательской функции на PHP:

function funct () {
$a = 100 ;
echo "

$a

" ;
}
funct ();

?>

Сценарий выводит 100:

Пользовательским функциям в PHP можно передавать аргументы и получать возвращаемые функциями значения.

Подробную информацию по пользовательским функциям PHP вы найдете

Встроенные (стандартные) функции PHP

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

ООП и PHP

PHP имеет достаточно хорошую поддержку объектно-ориентированного программирования (ООП).

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

Вот пример PHP класса и его использования:

// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $ name ;

// методы:
function Getname () {
echo "

John

" ;
}

}

// Создаем объект класса Coor:
$ object = new Coor ;
// Получаем доступ к членам класса:
$ object -> name = "Alex" ;
echo $ object -> name ;
// Выводит "Alex"

Есть еще вопросы или что-то непонятно - добро пожаловать на наш

PHP поддерживает альтернативный синтаксис для некоторых управляющих конструкций, а именно для: if, switch, while, for и foreach . Основная форма альтернативного синтаксиса заключается в замене открывающей фигурной скобки на двоеточие (:), завершающая фигурная скобка заменяется на ключевое слово endif, endswitch, endwhile, endfor и endforeach , которое соответствует используемой конструкции.

if

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

$b): echo $a . " больше"; echo ", чем " . $b; elseif ($a == $b): // Обратите внимание, здесь elseif записан в одно слово. echo $a." равно ".$b; else: echo $a." меньше ".$b; endif; ?>

Замечание : если для определения нескольких условий if/elseif используется альтернативный синтаксис, в этом случае можно использовать только elseif в одно слово, т.е. вы не должны разделять else if в два слова, так как это вызовет фатальную ошибку в PHP.

$b): echo $a." больше, чем ".$b; else if ($a == $b): echo $a." равно ".$b; endif; ?>

Смешивание двух видов синтаксиса в одной конструкции не поддерживается, это правило относится ко всем операторам указанных в этой главе.

$b): echo $a . " больше"; echo ", чем " . $b; elseif ($a == $b) { // нельзя смешивать два вида записей в одной конструкции echo $a." равно ".$b; } else: echo $a." меньше ".$b; endif; ?>

Правила альтернативного синтаксиса описанные в этом разделе также действуют и для остальных управляющих структур. Поэтому ниже будут просто приведены примеры.

switch

while

"; endwhile; ?>

for

"; for ($j = 0; $j < 2; $j++): echo "Вложенный цикл.
"; endfor; //вложенные конструкции тоже надо завершать ключевым словом endfor; ?>

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

"; for ($j = 0; $j < 2; $j++) { echo "Вложенный цикл.
"; } endfor; ?>

Дополнительные сведения

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

Приведем простой пример:

A равно 5

В приведенном примере, блок HTML-кода "A равно 5" вложен внутрь конструкции if написанной с альтернативным синтаксисом. HTML-блок будет показан только в том случае, если переменная $a будет равна 5 .

Как вы уже могли догадаться из примера выше, альтернативный синтаксис можно использовать для вставок в HTML-разметку. Так как в этом случае код php и html будут разделены, это упрощает верстку страницы.

Рассмотрим примеры для других конструкций:

Значение равно 1.

Значение не известно.

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

A равно 5

A не равно 5

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

» Синтаксис языка PHP

Навигация по Самоучителю: 1.1 О PHP 1.2 История PHP 1.3 Почему именно PHP? 1.4 Как это все (PHP) работает? 1.5 От интерпретатора к компилятору 1.6 Возможности PHP 1.7 Что необходимо для работы? 1.8 Ответы на ваши вопросы 1.9 Заключение к главе 2.1 Установка и конфигурирование 2.2 Установка Apache 2.3 Установка PHP 2.4 Установка MySQL 2.5 Настройка Apache 2.6 Настройка PHP 2.7 Настройка MySQL 2.8 Тестирование программ Apache, PHP 2.9 Заключение к главе 2 3.1 Синтаксис языка PHP 3.2 Профессиональная вставка 3.3 РНР и HTML 3.4 Комментарии в языке (коде) PHP 3.5 Оформление PHP кода программы 3.6 Заключение к главе 3 4.1 Переменные. Что такое переменные? 4.2 Переменные. Типы данных в PHP 4.3 Integer. Тип данных. 4.4 Double. Тип данных. 4.5 Boolean. Тип данных. 4.6 Другие типы данных 4.7 Определение переменных в PHP 4.8 Изменение типа данных в PHP 4.9 Ссылки на переменные в PHP 4.10 Динамические переменные в PHP 4.11 Что такое Константы в PHP? 4.12 Определение констант в языке PHP 4.13 Предопределенные константы в языке PHP 4.14 Заключение к главе 4 5.1 Операторы в PHP 5.2 Оператор присваивания в PHP 5.3 Арифметические операторы в PHP 5.4 Операторы отношения в PHP 5.5 Логические операторы в PHP 5.6 Поразрядные операторы в PHP 5.7 Строковые операторы в PHP 5.8 Оператор подавления ошибок в PHP 5.9 Операторы увеличения и уменьшения в PHP 5.10 Сокращенная запись присвоения переменных в PHP 5.11 Приоритетность и ассоциативность в PHP 5.12 Заключение к главе 5 6.1 Управляющие операторы PHP 6.2 Условный оператор IF 6.3 Условный оператор Elseif 6.4 Условный оператор Switch 6.5 Операторы цикла For 6.6 Оператор цикла While 6.7 Оператор цикла Do...while 6.8 Безусловный оператор Break 6.9 Безусловный оператор Continue 6.10 Безусловный оператор Exit 6.11 Require 6.12 Include 6.13 Заключение к главе 6 7.1 Функции в PHP 7.2 Определение функций в PHP 7.3 Аргументы функций в PHP 7.4 Область видимости переменных 7.5 Время жизни переменных в PHP 7.6 Рекурсия в PHP 7.7 Динамический вызов функций в PHP 7.8 Заключение к главе 7 8.1 Массивы в PHP 8.2 Присвоение значений массивов PHP 8.3 Функция array () PHP 8.4 Вывод PHP массивов 8.5 Обход массивов PHP. Функция count(), Конструкции foreach() 8.6 Функция reset() 8.7 each() 8.8 list() 8.9 Сложение массивов 8.10 Сравнение массивов 8.11 Добавление элементов массива 8.12 Удаление элементов массива 8.13 Сортировка массивов 8.14 Многомерные массивы 8.15 Преобразование в массив 8.16 Заключение к главе 8 9.1 Строка 9.2 Обработка переменных внутри строк 9.3 Вывод строк 9.4 Форматированный вывод строк 9.5 Длина строки в PHP 9.6 Поиск подстроки в строке 9.7 Чистка строк 9.8 Заключение к главе 9 10.1 Работа с HTML-формами 10.2 Передача данных HTML-формы. Метод GET и POST 10.3 Получение данных в PHP 10.4 Суперглобальные массивы $_GЕТ и $_POST 10.5 Заключение к главе 10 11.1 Открытие файлов в PHP 11.2 Закрытие файлов в PHP 11.3 Чтение и запись файлов в PHP 11.4 Копирование, удаление и переименование файлов в PHP 11.5 Получение информации о файлах в PHP 11.6 Файловый указатель в PHP 11.7 Открытие и закрытие каталогов в PHP 11.8 Чтение каталогов в PHP 11.9 Создание и удаление каталогов в PHP 11.10 Заключение к главе 11 12.1 Работа с базами данных MySQL в PHP 12.2 Соединение PHP с сервером базы данных MySQL 12.3 Создание и удаление базы данных MySQL 12.4 Создание и удаление таблиц MySQL 12.5 Работа с данными MySQL 12.6 Заключение к главе 12 13.1 Работа с изображениями в PHP. Библиотека GD 13.2 Создание и вывод изображений в PHP 13.3 Модификация изображений в PHP 13.4 Работа с текстом в PHP 13.5 Заключение к главе 13 14.1 Работа с датой и временем в PHP 14.2 Символы форматирования даты и времени в PHP 14.3 Функция date() и getdate() в PHP 14.4 Преобразования к абсолютному времени в PHP 14.5 Заключение к главе 14 15.1 Работа с регулярными выражениями в PHP 15.2 Регулярные выражения POSIX в PHP 15.3 Метасимволы в PHP 15.4 Классы символов 15.5 Квантификаторы 15.6 Замена по шаблону 15.7 Примеры регулярных выражений 15.8 Заключение к главе 15 16.1 Работа с Cookies в PHP 16.2 Создание Cookies в PHP 16.3 Чтение из Cookies 16.4 Удаление Cookies 16.5 Заключение к главе 16

В прошлой главе мы разбирали установку программного обеспечения, чтобы пользоваться программами, которые написаны на РНР. И дело осталось совсем за малым, вам нужно научиться разрабатывать эти программы. Прежде всего, вам нужно познакомиться с синтаксисом языка. Действительно, когда человек не знает слов и знаков препинания, то ему будет очень сложно составить предложения, и тем более крупный тест. Давайте приступим к изучению синтаксиса языка PHP .

Как было сказано в главе 1, скрипт на РНР - это простейший текст. И именно поэтому, когда вы его создаете, вы можете использовать простой редактор текста (к примеру, блокнот Windows). Мы не будем откладывать это дело в очень долгий ящик и начнем писать программу. По традиции, результатом ее работы будет сообщение «Hello, World!» в окне вашего браузера. Вам нужно открыть редактор текста, и ввести туда строки из листинга 3.1 и сохранить этот файл с расширением.php (к примеру, hello.php). Разместить файл в корень каталога вашего Web-сервера (в нашем случае это C:\Home_server\Apache2\htdocs\) и введите в строке браузера http://localhost/hello.php. Перед нажатием клавиши Enter, еще раз убедитесь, что процесс Apache загружен, это подтверждает иконка Apache Server Monitor, где размещены утилиты в нижнем углу с правой стороны монитора.

Листинг 3.1. Эта программа выводит сообщение.

‹?php
echo "Hello, World!";
?›

Результат программы смотрите на рисунке

А теперь приступим к детальному рассмотрению данной программы. Вам нужно обратить внимание на конструкцию ‹?php ... ?›, у нее очень большая схожесть с HTML-тегом. С её помощью выделяют PHP-код. Слово echo используют для того чтобы вывести строку, она размещена в кавычках сразу после него (мы рассмотрим эту команду позже). Символ точка с запятой (;) делает туже функцию, что точка в самом конце предложения.

Вам нужно выбрать в меню браузера (в нашем случае Internet Explorer) Вид пункт В виде HTML . И вам раскроется содержимое, все что есть на странице, в текстовом редакторе. Просьба заметить, что Web-сервер переслал обозревателю только строчку «Hello, World!». И только в этом состоит главная изюминка серверного программирования, потому что когда вызываются HTML-файлы, они будут пересылаться без изменений. В данном случае сначала будет выполнен РНР- код, ну а потом и результат будет отправлен браузеру.

Еще одно о синтаксисе языка PHP , вам не нужно забывать, что если код не будет заключен в специальный набор тегов ‹?php...?›, то он будет передан без обработки РНР (см. рисунок и листинг ниже).

Листинг 3.2. Программа в которой не использованы теги РНР

‹html›
‹head›
‹title›Текст вне тегов PHP‹/title›
‹/head›
‹body›
echo "Это не PHP-код";
‹br›
‹?php
echo "Hello, World!";
?›
‹br›
echo "Это не PHP-код";
‹/body›

Результат работы этой посмотрите на рисунку. 3.2. И еще обратите внимание, что в нашем случае, команда echo не выполняется в первой и последней строке, а отображена как обычный текст. Это обстоятельство очень часто используют в практике для того чтобы выводить большие сообщения (более подробно вы узнаете дальше в этой главе).

Давайте вернемся к рассмотрению конструкций, обрамляющей PHP-код. Кроме известного тега ‹?php...?› бываю еще три разновидности:

  • ‹?...?›
  • ‹%...%›
  • ‹script language="php"›...‹/script›

Когда вы выбираете тот или иной вид конструкции, Вам нужно удостовериться о том, что настройки РНР позволяют их использовать. К примеру, малые теги ‹?...?› не всегда бывают включены по умолчанию (просмотрите значение параметра short_ open_tag и файла конфигурации php.ini), именно поэтому использовать их не рекомендуется. Конструкция ‹script language="php"›...‹/script› так же, как и ‹?php...?› всегда доступна, но из-за своей громоздкости она используется довольно редко. Тег ‹%...%› был использован в версии РНР 4.0.3. Работа его зависит от параметра asp_tags. В нашем самоучителе мы будем часто придерживаться тегов в виде ‹?php...?›.

Стоит сказать еще несколько слов о теге?>. В РНР его принимают как символ точка с запятой (;), именно поэтому в конце последней строчки можно его и не писать.

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

Итак, функция – это набор специальных команд, которые выполняться определенным образом и выдают определенный результат. При этом функция имеет определенное имя и может использоваться в любом месте страницы. Для этого достаточно просто вызвать нужную функцию в нужном месте страницы. Синтаксис функций PHP имеет следующий вид.

Function имя_функции (параметры) { Тело функции }

Для лучшего усвоения давайте рассмотрим следующий пример. У нас есть здание и известна его высота. Нам нужно рассчитать время свободного падения предмета, брошенного с этого здания. Будем считать, что условия идеальны. Для решения этой задачи используем следующую функцию.

Function mytime($h, $g) { $t = pow(2*$h/$g, 0.5); echo "Время падения с высоты ".$h." при g = ".$g." составляет ".$t." секунд."; } mytime(100, 9.81);

Теперь давайте разберем приведенный выше код. Сначала мы создаем новую функцию mytime . Для этого прописываем специальное слово function, после которого указываем имя создаваемой функции. Также рядом в скобках через запятую не забываем указать параметры для создаваемой функции PHP. Если таких параметров нет, то их можно не указывать и оставить скобки пустыми. Далее с новой строки открываем фигурные скобки и прописываем в них тело функции. В нашем случае это формула для расчета времени свободного падения. Для этого создаем переменную $t, а в качестве значения присваиваем ей формулу расчета времени свободного падения.

После этого полученный результат выводим на экран при помощи . Теперь, если нам необходимо рассчитать время свободного падения, достаточно просто в нужном месте php-файла вызвать нашу php функцию, а в качестве параметров (в скобках) указать значение нужной нам высоты и и ускорения свободного падения.

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

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

Функции PHP с параметрами и без параметров

В предыдущем примере про время свободного падения мы рассматривали функцию с параметрами. В нашем случае это были переменные $h и $g. В PHP можно применять также функции без параметров. В этом случае после названия функции в скобках ничего не пишется. Примером такой функции будет функция, выводящая какое-то уже готовое решение, например, ссылку или текст.

Function mylink () { echo "

В приведенном выше примере мы создаем функцию без параметров с именем mylink. Далее в теле функции прописываем, что нужно выводить обычную ссылку. Теперь при вызове этой функции в любом месте документа будет выводиться текст или ссылка, которые прописаны в теле функции mylink.

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

Function mylink ($link, $target, $title, $anchor) { echo "$anchor"; } $mylink = "https://archive.сайт"; $mytarget = "_blank"; $mytitle = "Создание и продвижение сайтов"; $myanchor = "Создание и продвижение сайтов"; mylink($mylink, $mytarget, $mytitle, $myanchor);

После получения значений переменными, мы вызываем функцию mylink и передаем ей параметры. В нашем случае это те переменные, которые мы создали перед этим. Теперь, как вы уже догадываетесь, значение переменной $mylink будет передано переменной $link, $mytarget — $target и т.д. В результате этого функция mylink примет те параметры, которые нам необходимы и выведет соответствующий результат на экран в виде ссылки.

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

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

На этом все. Удачи вам и успехов в изучении основ PHP.