Базовые сведения:
Массивы
Массивы в PHP - это очень мощный и гибкий механизм. Он позволит вам сделать практически все, что вы только можете пожелать сделать с массивами. Поддерживаются как обычные, так и ассоциативные массивы, причем они могут быть смешаны в любом порядке даже в пределах одного массива. Поддерживаются вложенные массивы, их вложенность никак явно не ограничена. В PHP существует большое количество функций для работы с массивами, они помогут вам выполнить большинство необходимых операций без лишних затрат времени и сил.Учебник РНР
Кроме того, необходимо отметить еще одну особенность PHP при работе с массивами: в отличие от других языков PHP позволяет задавать массивы практически любой сложности непосредственно в теле программы! Возможно с первого взгляда эта возможность не покажется вам такой уж важной, однако это не так. В вашей практике вам не раз придется столкнуться с необходимостью описания какой-нибудь сложной структуры данных и наполнением этой структуры данными. В других языках для этого как правило приходится писать дополнительный код, что не всегда удобно. В PHP же вы можете сделать это очень просто и элегантно:
$data = array(1,10,100,1000, // Численные данные 'Some text','Another text', // Строковые данные 'name'=>'John','age'=>23, // Ассоциативные связи в массиве 'date'=>array('day'=>10,'month'=>'may','year'=>2001)); //Вложенный массив
Как видите - различные данные могут быть совмещены вместе в единой структуре без каких-либо проблем! Посмотрим, как можно обратиться к этим данным:
echo $data[1]; // Результат - 10 echo $data[5]; // Результат - 'Another text' echo $data['age']; // Результат - 23 echo $data['date']['month']; // Результат - 'may'
Большое количество информации и примеров, а также описания функций для обработки массивов можно найти в Учебник РНР.
Variable scope
Английский термин, вынесенный в заголовок переводится на русский как "область видимости переменной".
Под этим термином подразумевается то, что любая переменная, описанная в программе имеет свою область видимости, другими словами если переменная описана в каком-то месте программы, то это отнюдь не означает, что она автоматически становится видимой в любом другом месте этой программы.
В PHP на этот счет есть свои особенности. Самая "странная" вещь, с которой сталкивается человек при знакомстве с PHP это то, что переменная, описанная вне функции невидима внутри нее! В других языках программирования мы привыкли к тому, что глобальные переменные программы видны везде, но в PHP это не так. Но посмотрев на эту "странность" повнимательнее можно заметить, что она имеет больше выгоды, нежели неудобств, т.к. является своего рода "защитным механизмом", который не позволит вам случайно перепутать локальную и глобальную переменную, что подчас приводит к очень тяжелым последствиям.
Как же получить доступ к глобальным переменным из функции? Есть два способа сделать это:
function myFunction() { $variable = 5; // Присваиваем значение локальной переменной $GLOBALS['variable'] = 10; // Присваиваем значение глобальной переменной };
function myFunction() { global $variable; $variable = 10; // Присваиваем значение глобальной переменной };
Функции в PHP
Как и любой другой алгоритмический язык, PHP имеет поддержку функций. В общем синтаксис функций в PHP наиболее близок к тому, как реализованы функции в C. ниже приведен пример очень простой функции:
function mySum($a,$b) { $result = $a+$b; return($result); };Использование этой функции:
$result = mySum(2,3);
По своей сути функции представляют собой участки кода, ассоциированные с определенным именем. Это как правило необходимо для того, чтобы иметь возможность выполнять какую-либо задачу несколько раз используя один и тот же код.
Имя функции должно быть уникальным с точностью до регистра букв. Это означает, что, во-первых, имена MyFunction, myf unction и даже MyFuNcTiOn будут считаться одинаковыми, и, во-вторых, мы не можем переопределить уже определенную функцию (стандартную или нет - не важно), но зато можем давать функциям такие же имена, как и переменным в программе (конечно, без знака $ в начале). Список аргументов, как легко увидеть, состоит из нескольких перечисленных через запятую переменных, каждую из которых мы должны будем задать при вызове функции. Конечно, если у функции не должно быть аргументов вовсе (как это сделано у функции time ()), то следует оставить пустые скобки после ее имени.
Любая функция в PHP состоит из 4 основных частей:
Возврат функцией нескольких значений
function getNext(...) { $result = array(); $result['data'] = ...; $result[1] = ...; return($result); };
В PHP4 появилась возможность работать со ссылками (references). Если вы знакомы с C/C++, то для вас references не будут чем-то новым - это аналог указателей в C. Признаком использования references является наличие знака & перед именем переменной.
function getNext() { global $data; static $counter=0; return($data[$counter++]); };
Однако в более сложных случаях нельзя обойтись использованием лишь значений по умолчанию. Например, если заранее неизвестно, сколько именно аргументов будет передано функции. В этом случае на помощь приходят функции для работы со списком аргументов.
.
Задания на лабораторную работу