<?php
function tester()
{
$text = "Люди чаще капитулируют, чем терпят крушение. ";
print $text;
}
tester();
?>
В этом случае все будет работать предельно корректно, значение переменной $text будет выведено на экран браузера.
Другой способ сделать внутреннюю переменную видимой в теле программы это использовать инструкцию return. С ее помощью можно "вернуть любые объекты". Вот пример функции, возвращающей квадрат своего аргумента.
Пример 4.3.2
function mysqrt($a)
{
return $a*$a;
}
echo mysqrt(4);
В результате вызов функции в операторе вывода даст ответ 16.
Задание для самопроверки
Напишите функцию, имеющую в качестве аргументов две числовые переменные. Данная функция должна выводить наибольшую из переменных на экран браузера. Сравните не меньше трех пар чисел.
П.5.Массивы
У переменной есть один существенный недостаток, в ней одновременно можно хранить только одно значение. Однако существует особая разновидность переменных, позволяющая обойти это ограничение. Массив дает возможность хранить сколько угодно значений под одним и тем же именем.
Естественно, если нужно сохранить пять значений, ничто не мешает вам завести пять переменных. Так для чего нужны массивы? В первую очередь, для гибкости вы можете сохранить два значения, а можете и две сотни, не заводя новых переменных. Кроме того, массив дает возможность эффективно обрабатывать эти переменные. Можно просмотреть их все в цикле, выбрать любую нужную или отсортировать в числовом или алфавитном порядке, можно даже указать свой собственный порядок сортировки.
Доступ к любому элементу массива осуществляется по его индексу. Индекс (ключ) служит для однозначной идентификации элемента внутри массива. Каждый элемент массива имеет свой уникальный индекс. Чаще всего индексом является некоторое целое число. Следует учесть, что первому элементу массива присваивается нулевой индекс, второй элемент массива имеет индекс равный 1, третий – 2 и т.д. Для того чтобы начать работать с каким-то элементом массива, достаточно просто знать его индекс.
Создание массива
Элементам массива могут быть присвоены значения двумя способами – непосредственно или с помощью функции array(). Рассмотрим оба способа.
Определение массива с помощью функции array()
Пример 5.1 Определение массива с помощью функции array()
<?php
$students = array("Ira","Vadim","Alex","Ann");
print $students[0];
?>
Данный пример состоит всего из двух строчек. В первой строке мы создаем массив с помощью функции array(), в скобках которой содержатся элементы нашего массива. Имя массива задается перед знаком равенства ($students), правила создания имени массива схожи с правилами создания имени переменной. Во второй строчке мы просим функцию print() вывести элемент массива с индексом 0 (это означает, что мы просим вывести первый элемент массива).
Индекс элемента массива, к которому происходит обращение, указывается в квадратных скобках после имени массива. Таким способом можно обращаться к элементу массива, как для получения его значения, так и для присвоения ему значения. В нашем примере, Ira имеет индекс 0, Vadim –1, Alex – 2, Ann – 3. Очевидно, запросив вызов на экран значения массива имеющего индекс 0, мы увидим на экране браузера имя Ira.
Создание элементов массива с помощью идентификатора
Существует возможность создать новый массив или добавить элемент к тому, который уже есть, с помощью идентификатора (имени) массива. Для этого достаточно указать имя массива и пару пустых квадратных скобок. Давайте создадим массив $students таким способом.
Пример 5.2 Создание новых элементов с помощью идентификатора
<?php
$students[] = "Ira";
$students[] = "Vadim";
$students[] = "Alex";
$students[] = "Ann";
print $students[0];
?>
Обратите внимание на то, что мы не указываем номер элемента в квадратных скобках. PHP автоматически вычисляет его, освобождая нас от необходимости помнить о том, какой следующий элемент свободен.
Результат работы программы из примера 5.2 будет полностью аналогичен результату работы программы из примера 5.1.
После того как массив создан, можно добавлять к нему новые элементы. В примере 5.3 мы создаем массив с помощью функции array() и добавляем к нему новые элементы.
Пример 5.3 Добавление новых элементов
<?php
$students = array("Ira","Vadim","Alex","Ann");
$students[] = "Max";
print $students[4];
?>
Во второй строчке программы мы добавили в массив новый элемент, имеющий индекс 4 и значение Max. После этого, обратившись к нему по индексу, мы вывели его на печать.
Ассоциированные массивы
К любому элементу массива можно обратиться по индексу. Раньше в качестве индексов мы использовали целые числа. Это довольно удобно, но имеется один существенный недостаток этого метода. Представьте себе массив, элементы которого хранят телефоны ваших друзей. Допустим, вы хотите посмотреть телефон Макса. Для этого вам надо вспомнить, под каким индексом хранится этот телефон у вас в массиве. Когда телефонов всего 5 – 6 это еще реально, но когда их 50. В этом случае нам очень сильно могут помочь ассоциированные массивы. Дело в том, что к каждому элементу такого массива можно обратиться по имени. Вы просто просите показать вам элемент массива под именем Макс и сразу получаете интересующий вас телефон. Удобно и просто.
Ассоциированный массив – это массив, к элементу которого можно обратиться по имени. Ассоциированный массив можно создать непосредственно или с помощью функции array().
Создание ассоциированного массива с помощью функции array ()
Пример 5.4 Создание ассоциированного массива с помощью функции array()
<?php
$tel = array(
"Max Koshelev" => "580-46-82",
"Ann Reish" => "589-90-34",
"Pashsa Golikov" => "480-57-58"
);
print $tel["Max Koshelev"];
?>
Для того чтобы создать ассоциированный массив с помощью функции array(), нужно задать как имя (Max Koshelev, Ann Reish, Pashsa Golikov), так и значение (580-46-82, 589-90-34, 480-57-58) для каждого элемента. В нашем примере мы создаем массив $tel из трех элементов. К любому элементу массива можно обратиться по имени. Имена элементов массива – это строки, которые необходимо брать в кавычки. Имя элемента может состоять из нескольких слов (как у нас, фамилия и имя). Результат работы программы – появление на экране браузера телефона Кошелева Максима - 580-46-82.
Непосредственное создание ассоциированного массива
Создать новый массив или добавить к существующему пару – имя/значение можно, просто присвоив значение элементу массива, указав этот элемент по имени.
Пример 5.5 Непосредственное задание ассоциированного массива
<?php
$tel["Max Koshelev"] = "580-46-82";
$tel["Ann Reish”] = "589-90-34";
$tel["Pashsa Golikov"] = "480-57-58";
print $tel["Max Koshelev"];
?>
В данном примере мы опять создаем массив $tel.
Работа с массивами
Получение размера массива
К любому элементу массива можно обратиться по его номеру. Однако механизм работы с массивами настолько гибок, что иногда вы можете не знать, сколько элементов содержится в массиве. В этом случае на помощь приходит функция count(). Эта функция сообщает нам количество элементов массива.