Массивы
Индексы массивов (как обычных, так и ассоциативных) задаются в квадратных скобках ([ и ]):
$fruit[0] = 'banana'; $fruit[1] = 'papaya'; $favorites['animal'] = 'turtle'; $favorites['monster'] = 'cookie';
Если Вы присваиваете какое-то значение элементу массива, не указывая номера элемента (оставляете поле индекса пустым), PHP присоединяет объект к концу массива. Так для приведенного выше примера с массивом $fruit можно достичь того же самого результата, написав:
$fruit[] = 'banana'; $fruit[] = 'papaya';
Вы можете также применять многомерные массивы:
$people['David']['shirt'] = 'blue'; $people['David']['car'] = 'minivan'; $people['Adam']['shirt'] = 'white'; $people['Adam']['car'] = 'sedan';
Создать массив можно также путем вызова функции array():
$fruit = array('banana','papaya'); $favorites = array('animal' => 'turtle', 'monster' => 'cookie);
или
$people = array ('David' => array('shirt' => 'blue', 'car' => 'minivan'), 'Adam' => array('shirt' => 'white', 'car' => 'sedan'));
Встроенная функция count() выдает число элементов в массиве.
$fruit = array('banana','papaya'); print count($fruit);
выдаст
2
Управляющие конструкции
Вы можете использовать операторы цикла, такие как for и while. В результате выполнения оператора
for ($i = 4; $i < 8; $i++) { print "I have eaten $i bagels today.\n"; }
получим
I have eaten 4 bagels today. I have eaten 5 bagels today. I have eaten 6 bagels today. I have eaten 7 bagels today.
Тот же самый результат даст
$i = 4; while ($i < 8) { print "I have eaten $i bagels today.\n"; $i++; }
Вы можете также использовать конструкции с if и elseif:
if ($user_count > 200) { print "Сайт сейчас перегружен!"; } elseif ($user_count > 100) { print "Сайт активно используется!"; else { print "Сайт свободен - подключились только $user_count пользователей."; }
Сформулированное выше правило "Пробуй!" вполне применимо и в части управляющих конструкций. Вы можете использовать конструкции с switch, do...while и даже ?:.
Простая форма
Одна из наиболее удобных и приятных особенностей PHP - это его способность автоматически передавать значения переменных из форм в переменные PHP. Это очень облегчает обработку форм.
Например, Вы обрабатываете форму, которая имеет поле ввода следующего вида:
<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">
и в то время, когда выводится страница с этим PHP-кодом, переменная $name имеет значение Glen Morris.
Тогда Вы можете вывести это значение на экран:
echo "Hi $name!";
или вставить проверку в условном операторе:
if ($name == "Glen Morris") { echo "Please check your email."; }
Это позволяет организовать обработку форм с помощью PHP. Рассмотрим небольшой пример, в котором попросим посетителя ответить на несколько вопросов (указать имя, электронный адрес и еще кое-что) и сформируем выводимую страницу в зависимости от его ответов.
Вначале разделим нашу страницу на две части. Но не будем создавать две отдельные страницы (одна для формы, другая для CGI-скрипта, который эту форму обрабатывает), а создадим одну PHP-страницу, вид которой изменяется в зависимости от результатов анализа данных, введенных посетителем в имеющуюся на этой странице форму.