Читаем Справочник по PHP онлайн бесплатно


Справочник по PHP

Вниманию читателей предлагается справочник по PHP.Справочник предназначается для людей, уже освоивших азы программирования на языке PHP.Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков».

Автор Неизвестeн

Компьютеры и Интернет / Зарубежная компьютерная, околокомпьютерная литература
<p>Справочник по PHP</p><p>О этом справочнике</p>

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

Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.

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

http://www.spravkaweb.ru/download.php?user=help_php

Дата выхода данной версии справочника: 06:40, 25 марта 2007.

Также на сайте доступны для скачивания справочники по CSS, Perl, MySQL.

<p>Синтаксис языка и операторы</p><p>Выражения</p>

if

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

Синтаксис :

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

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

if($a > $b) print "$a больше $b";

if($a > $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;

$a=1;

while ($a <= 5) {

echo $a++;

}

?>

$a = 1;

while($a <= 5):

echo $a;

$a++;

endwhile;

?>

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

do_while

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

$a = 1;

do {

echo $a;

} while ($a > 1);

?>

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

do {

if ($a == 5) {

echo "A равно 5"

break;

}

$a *= $b;

if ($a < $minimum) {

break;

}

echo "A равен $a";

} while(0);

?>

for

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

Синтаксис:

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

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

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

Пример1:

for ($a = 1; $a <= 5; $a++) {

echo $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 <= 5; print $a, $a++);

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

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

break

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

Пример:

$a = 0;

while ($a < 5) {

if ($arr[$a] == "stop") {

break;

}

$a++;

}

continue

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

while (list($key,$value) = each($arr)) {

if ($key % 2) {

continue;

}

do_something_odd ($value);

}

?>

switch

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

switch ($a) {

case 0:

echo "A равно 0";

break;

case 1:

echo "A равно 1";

break;

case 2:

echo "A равно 2";

break;

default:

echo "A не равно 0, 1, 2";

}

?>

require

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

Пример:

require("include.inc");

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

include

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

$files = array ("first.inc", "second.inc", "third.inc");

for ($a = 0; $a < count($files); $a++) {

include($files[$a]);

}

?>

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

if ($a < 5) {

include("file_1.inc");

} else {

include("file_2.inc");

}

?>

function

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

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

function foo ($arg_1, $arg_2, ..., $arg_n) {

echo "Пример функции.";

return $retvalue;

}

?>

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

function my_sqrt ($num) {

return $num * $num;

}

echo my_sqrt(4); //выведет 16

?>

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

function foo() {

return array (0, 1, 2);

}

list ($zero, $one, $two) = foo();

Аргументы:

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

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

function takes_array($input) {

echo "$input[0] + $input[1] = ", $input[0]+$input[1];

}

Передача по ссылке:

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

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

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

class Cart {

var $items; // Количество вещей в корзине покупателя

// Добавить $num наименований типа $artnr в корзину

function add_item ($artnr, $num) {

$this->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);//унаследовано из обычной корзины

<p>Функции работы с данными</p><p>Математические функции</p><p>Функции округления</p>

abs

Возвращает модуль числа.

Синтаксис:

mixed abs(mixed $number)

Тип параметра $number может быть float или int, а ти п возвращаемого значения всегда совпадает с типом этого параметра.

$x = abs(-4); // $x=4

$x = abs(-7.45); // $x=7.45

round

Округление дробного числа до целого.

Синтаксис:

double round(double $val)

Округляет $val до ближайшего целого и возвращает результат.

$foo = round(3.4); // $foo == 3.0

$foo = round(3.5); // $foo == 4.0

$foo = round(3.6); // $foo == 4.0

$x = round(5.3); // $x=5

$x = round(5.4); // $x=5

$x = round(5.45); // $x=5

$x = round(5.5); // $x=6

ceil

Дополнение дробного числа до следующего целого.

Синтаксис:

int ceil(float $number)

Возвращает наименьшее целое число, не меньше $number. Разумеется, передавать в $number целое число бессмысленно.

$x = ceil(5.0); // $x=5

$x = ceil(5.1); // $x=6

$x = ceil(5.9); // $x=6

floor

Удаление дробной части числа.

Синтаксис:

int floor(float $number)

Возвращает максимальное целое число, не превосходящее $number.

$x = floor(5.1); // $x=5

$x = floor(5.9); // $x=5

<p>Случайные числа</p>

srand

Производит инициализацию генератора случайных чисел.

Синтаксис:

void srand(int seed)

Инициализирует генератор случайных чисел занчением seed.

srand((double) microtime()*1000000);

$random = rand();

echo $random;

getrandmax

Возвращает максимально возможное случайное число.

Синтаксис:

int getrandmax()

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

Обычно это 32767

rand

Производит генерацию случайного числа.

Синтаксис:

int rand([int max [, int min]])

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

Если параметры min и max отсутствуют, возвращается число, лежащее в пределах от 0 до RAND_MAX.

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

mt_rand

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

Синтаксис:

int mt_rand(int $min=0, int $max=RAND_MAX)

Если вы хотите генерировать числа не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax()), задайте соответствующий интервал в параметрах $min и $max. Не забудьте только перед первым вызовом этой функции запустить mt_srand().

mt_srand(time()+(double)microtime()*1000000);

$x = mt_rand(1,100); // $x - значение от 1 до 100

mt_srand

Настраивает MT-генератор случайных чисел на новую последовательность.

Синтаксис:

void mt_srand(int seed)

Похожие книги