
4. Массивы
В РНР к элементу массива обращаются так - $имя массива[индекс]. Имя может быть любым как и всякое имя переменной, индекс может быть либо непосредственно числом, переменной или его может вообще не быть. В этом случае (что вообще не желательно) будет выбрана или записана ячейка массива, следующая за той, к которой было последнее обращение в массиве. Вот как можно ввести данные в массив.
<?php
a[] = 1;
a[] = 67456;
a[] = "пример";
>?
В этом случае будет создан массив с именем а и в его ячейки 0, 1 и 2 введены значения 1,67456 и "пример" соответственно. Теперь достаточно дать команду echo a[3]; и на экран будет выведено слово "пример". Тут сокрыта одна опасность. Если массив с таким именем уже был определен раньше, и в него были введены данные, то данная конструкция продолжит ввод с того индекса, на котором ввод данных был прерван. Избежать этого можно, если явно указать индекс ячейки - не a[], а a[0], a[1], a[2] и т.д. С ячейками массива можно делать все, что угодно, как и с любыми переменными РНР. Арифметические операции, логические операции, сравнение, увеличение, уменьшение и т.д. А еще есть очень хорошая возможность: РНР позволяет считать в любой массив целый файл! Это открывает большие перспективы и дает интересные возможности. Без такой функции не обходится ни один серьезный скрипт. Вот ее формат:
<php $a = file( "имя файла" );
?>
После выполнения этой команды РНР в массиве $a будет находиться содержимое файла, имя или путь которого были указаны. Разделителем будет являться перевод строки. Кстати, путь типа "http://." не поддерживается. Он может быть только относительным. Это связано с безопасностью. А уж дальше что мы будем делать – дело наше. Самое простое – поискать что-то в этом файле. Немного сложнее – найти и заменить. Но все это уже дело техники.
Задания
Создать массивы для месяцев («январь», «февраль», …) и для дней недели («понедельник», «вторник», …). При помощи функции date() считать текущий месяц, день недели и число. Вывести сегодняшнее число и день недели. Например: «Сегодня 13 сентября, понедельник».
Создать РНР-скрипт, позволяющий определить и вывести на экран, какой является текущая неделя: четной или нечетной. Вывод организовать в таком виде: «Сейчас четная неделя».
Создать РНР-скрипт, позволяющий определить и вывести на экран, какой по счету является текущая пара. Использовать массивы, а также функцию date(). Вывод организовать в таком виде: «Сейчас 3-я пара».
Создать РНР-скрипт, позволяющий определить и вывести на экран, сколько времени осталось до конца текущей пары. Использовать массивы, а также функцию date(). Вывод организовать в таком виде: «До конца пары осталось 15 мин.».
Создать РНР-скрипт, позволяющий определить и вывести на экран, сколько времени прошло с начала текущей пары. Использовать массивы, а также функцию date(). Вывод организовать в таком виде: «Прошло 15 мин. пары».