Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая MySQL и PHP.doc
Скачиваний:
21
Добавлен:
16.12.2018
Размер:
896 Кб
Скачать

Пример 11

<html>

<head>

<title>Выделение фрагмента массива</title>

</head>

<body>

<?php

$a = array("a", "b", "c", "d", "e", "f");

echo "\$a:"; foreach ($a as $t) echo " $t";

$b = array_slice($a, 2);

echo "<br>array_slice(\$a, 2):"; foreach ($b as $t) echo " $t";

$b = array_slice($a, 2, -1);

echo "<br>array_slice(\$a, 2, -1):"; foreach ($b as $t) echo " $t";

$b = array_slice($a, -2, 1);

echo "<br>array_slice(\$a, -2, 1):"; foreach ($b as $t) echo " $t";

$b = array_slice($a, 0, 3);

echo "<br>array_slice(\$a, 0, 3):"; foreach ($b as $t) echo " $t";

?>

</body>

</html>

РЕЗУЛЬТАТ ПРИМЕРА 11:

$a: a b c d e f array_slice($a, 2): c d e f array_slice($a, 2, -1): c d e array_slice($a, -2, 1): e array_slice($a, 0, 3): a b c

Сортировки

Сортировать можно как простые, так и ассоциативные массивы. Для сортировки массивов в PHP существуют определенные функции:

  • sort() - сортирует массив в алфавитном порядке, если хотя бы один из его элементов является строкой, и в числовом порядке, если все его элементы - числа.

  • rsort() - работает как sort( ), но в обратном порядке.

  • asort() - сортирует ассоциативный массив; работает как sort( ), но сохраняет имена элементов.

  • arsort() - работает как asort( ), но в обратном порядке.

  • ksort() - сортирует ассоциативный массив по именам элементов.

  • krsort() - работает как ksort( ), но в обратном порядке.

Пример 12

<html>

<head>

<title>Сортировка ассоциативного массива</title>

</head>

<body>

<?php

$a = array("первый" => 6, "второй" => 2, "третий" => 1);

echo "\$a:<br>"

asort ($a);

echo "asort (\$a):<br>"

foreach ($a as $k => $t) echo " $k = $t<br>";

ksort ($a);

echo "ksort (\$a):<br>"

foreach ($a as $k => $t) echo "$k = $t<br>";

?>

</body>

</html>

РЕЗУЛЬТАТ ПРИМЕРА 12:

$a: первый = 6 второй = 2 третий = 1 asort ($a): третий = 1 второй = 2 первый = 6 ksort ($a): второй = 2 первый = 6 третий = 1

Поиск элемента

Для проверки наличия элемента в массиве существуют функции:

  • in_array() - если элемент найден, возвращает true, иначе - false.

  • array_search() - если элемент найден, возвращает его ключ, иначе - false.

Пример 13

<html>

<head>

<title>Поиск элемента в массиве</title>

</head>

<body>

<?php

$a = array("первый" => 6, "второй" => 2, "третий" => 1);

if (in_array (2, $a)) echo "2 нашли!<br>";

echo "ключ найденного элемента - ".array_search(2, $a);

?>

</body>

</html>

Результат уже с первого дня! Подробности на:

beautiful-figura.ru

РЕЗУЛЬТАТ ПРИМЕРА 13:

2 нашли! ключ найденного элемента - второй

Функции в PHP

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

Для определения пользовательской функции используется ключевое слово function.

Пример 1

<html>

<head>

<title>Определение и вызов функции</title>

</head>

<body>

<?php

function заголовок ($str, $n)

{

echo "<H$n>$str</H$n>";

}

заголовок ("Часть", 1);

заголовок ("Глава", 2);

заголовок ("Раздел", 3);

?>

</body>

</html>

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

Пример 2

<html>

<head>

<title>Функция со значением аргумента по умолчанию</title>

</head>

<body>

<?php

function заголовок ($str, $n = 2)

{

echo "<H$n>$str</H$n>";

}

заголовок ("Часть", 1);

заголовок ("Глава");

заголовок ("Раздел", 3);

?>

</body>

</html>

РЕЗУЛЬТАТ ПРИМЕРОВ 1-2:

Часть

Глава

Раздел

Примечание: Указанный ниже код будет отрабатывать не так, как Вы возможно ожидаете. Переменная $full во всех случаях будет true.

fun($ar, false);

function fun($row, $full = true){ ... }

Передача аргумента по ссылке

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

Пример 3

<html>

<head>

<title>Передача аргумента по ссылке</title>

</head>

<body>

<?php

function add ( &$a, $b )

{

$a += $b;

$b += $b;

}

$af = 10;

$bf = 6;

echo "af = $af; bf = $bf";

add ( &$af, $bf );

echo "<br>После вызова функции:<br>";

echo "af = $af; bf = $bf";

?>

</body>

</html>

РЕЗУЛЬТАТ ПРИМЕРА 3:

af = 10; bf = 6 После вызова функции: af = 16; bf = 6

Возврат значений

Для возврата значений из функции используется оператор return. Можно вернуть несколько значений, если применить список list().

Пример 4

<html>

<head>

<title>Функция, возвращающая список значений</title>

</head>

<body>

<?php

function ФИО()

{

return array ("Иванов", "Иван", "Иванович");

}

list ($фамилия, $имя, $отчество) = ФИО();

echo "<table>";

echo "<tr><td>фамилия: <td>$фамилия";

echo "<tr><td>имя: <td>$имя";

echo "<tr><td>отчество: <td>$отчество</table>";

?>

</body>

</html>

РЕЗУЛЬТАТ ПРИМЕРА 4:

фамилия:

Иванов

имя:

Иван

отчество:

Иванович

Глобальные переменные

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

Пример 6

<html>

<head>

<title>Доступ к глобальной переменной</title>

</head>

<body>

<?php

$gg = 45;

function funct ()

{

global $gg;

echo "Глобальная переменная имеет значение - $gg";

}

funct ();

?>

</body>

</html>

РЕЗУЛЬТАТ ПРИМЕРА 6:

Глобальная переменная имеет значение - 45

Статические переменные

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

Пример 7

<html>

<head>

<title>Сохранение значения переменной между вызовами функции</title>

</head>

<body>

<?php

function funct (&str)

{

static $ss = 0;

$ss++;

echo "<h2>$ss. $str</h2>";

}

funct ("Понедельник");

echo "Король гулял в парке";

funct ("Вторник");

echo "Король охотился";

?>

</body>

</html>

Была создана и проинициализирована переменная $ss. По отношению к функции funct( ) эта переменная останется локальной. При втором и последующих вызовах функции funct( ) инициализация игнорируется, а запоминается последнее присвоенное значение.

РЕЗУЛЬТАТ ПРИМЕРА 7:

1. Понедельник

Король гулял в парке

2. Вторник

Король охотился

Манипулирование строками

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

Форматирование строк

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

  • printf() - выводит отформатированную строку в окно браузера;

  • sprintf() - выводит отформатированную строку в переменную. Далее можно использовать для записи в файл с помощью функции fputs().

Этим функциям передаются строка управления форматом и сами форматируемые данные. Строка управления форматом включает в себя обычные символы, которые прямо копируются в результат, и определители преобразования. Каждый определитель преобразования начинается с символа процента (%) и включает следующие элементы:

  • указатель заполнения используется, если необходимо увеличить размер строки. По умолчанию выполняется заполнение пробелами. Можно указать и 0. Перед любым другим символом заполнения надо поставить одинарную кавычку ('). Необязательный параметр;

  • указатель выравнивания, заданный знаком минус (-), определяет выравнивание влево. По умолчанию выполняется выравнивание вправо. Необязательный параметр;

  • указатель ширины задает количество символов, которое должно содержаться в выводимых данных. Необязательный параметр;

  • указатель точности задает количество десятичных знаков, отображаемых для чисел с плавающей запятой. Необязательный параметр;

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

d

десятичное число

b

двоичное число

c

ASCII-эквивалент

f

число с плавающей точкой двойной точности

o

восьмеричное число

s

строка

x

шестнадцатеричное число в нижнем регистре

X

шестнадцатеричное число в верхнем регистре