Уважаемые форумчане, я решил открыть данную тему, так как когда-то сам только начинал изучать PHP и самому было сложно сообразить, что бы такого написать, чтобы попрактиковаться.
Надеюсь другие обитатели форума поддержат меня и пополнят список своими задачами.

Просьба:
В данную тему помещать только задания, но не решения или вопросы по задачам, для этого есть соответствующий раздел на форуме.

Задача №1(математическая)
Рассчитать скорость движения машины и вывести её в удобочитаемом виде. Осуществить возможность вывода в км/ч, м/c.
Исходные данные: Пройденный путь - S; Время движения - t.
Представить решение задачи с помощью одной функции.

Задача №2(математическая)
Разработать функцию вычисления факториала заданного числа (n!)
Исходные данные, передаваемые в функцию: n - число, факториал которого вычисляется.
На выходе получить результат в виде факториала числа.

Задача №3(математическая)
Разработать функцию, которая вносит процентную коррекцию в массив чисел(целых, дробных или смешанных не имеет значения)
Исходные данные:
1)Массив с числами в виде

Код:
array(5, 6.5, 10, 3.355, 400, 9.43, ..., [n]);

2) Процент внесения изменений(0.8 - 80% от целого, 1 - оставить без изменения, 2.5 - увеличить в полтора раза и т.д.)

Предусмотреть, что пользователь случайно может в функцию передать отрицательный процент, тогда функция должна вернуть ошибку.
На выходе нужно получить такой же массив, с внесённой процентной ставкой.

Задача №4(работа с файлами)
Имеется файл с содержимым (книга|автор|издательство|состояние) например:

Код:
PHP 5 объектно-ориентированное программирование|Шишов Алексей|БХВ|1
MySQL: неподъемная книга разработчика|Шишов Алексей|БХВ|0
Справочник всего Г в России|Пупкин Вася|Пупкин и к0|1
Книга для домохозяек|Хозяйка Лидия|Домхоз|1
Телевидение в каждой коморке|Телестанция СССР|КВС+|0

Нужно написать 3 функции.
1) Функция, считывающая из файла построчно данные и разбила их на многомерный массив вида:

Код:
array(
        array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
        array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
        array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
    );

Выходные данные: массив книг.
2) Функция, обрабатывающая массив книг и возвращающая книги с запрошенным состоянием. Поле состояния отвечает за публикацию, опубликована книга или нет.
3) Функция, выводящая список книг в удобочитаемой форме.

Задача №5(работа с файлами)

Код:
Написать счетчик открытия для одной страницы. Количество открытий страницы хранится в txt-файле в виде числа.
[число открытия страницы]

После каждого 10 открытия страницы, выводить приветственное сообщение на экран.

Задача №6(работа с файлами и формой)
Есть форма с одним полем и кнопкой отправки. Поле, в которое вводится ссылка заполняется пользователем и отсылается на обработку.
Файл-обработчик получает ссылку, проверяет нет ли ещё такой в базе(файле) и заносит её в конец файла.

Задача №7(математическая и формы)
Осуществить задачу перевода числа из одной системы счисления в другую. Есть пользовательская форма с тремя полями(число, из какой СС, в какую СС), Пользователь заполняет все поля и отправляет данные на сервер.
Пользователю должно вывестись сообщение вида:

Код:
Старая система счисления - [СС]
Число - [Число в старой СС]

Новая система счисления - [СС]
Число - [Число в новой СС]

Задача №8(работа с каталогами)
Написать функцию, которая будет удалять каталог и всё содержимое в нём, т.е. подкаталоги и файлы.
Осуществить рекурсивный вызов этой функции в подкаталогах.
Исходные данные: path - путь удаляемого каталога

Задача №9(работа с датой)
Написать функцию, которая будет выводить данные в календарном формате на текущий месяц. Возможно использование стандартных функций определения дней недели.

На сегодня закончим.