практические задания для php

Базовый PHP | упражнения с решением

1. Отобразите текст «Hello World!» в браузере

Внутри тега создайте раздел PHP, в котором будет отображаться текст «Hello World!» в браузере. Проверьте свою работу, открыв страницу в браузере. Если вы получили пустую страницу, убедитесь, что вы заканчиваете каждое утверждение точкой с запятой «;» и что вы включили открывающие и закрывающие PHP-теги.

2. Информация о версии и конфигурации PHP

Напишите сценарий PHP, чтобы получить информацию о версии и конфигурации PHP.

3. Отображение строк

Напишите сценарий PHP для отображения следующих строк:
«Я использую одинарную кавычку ‘ в коде»
«Это плохая команда: del c:\*.*»

4. Вывод переменной

Ожидаемый результат:

5. Вывод имени, введенного в поле ввода

Создайте простую HTML-форму, которая принимает имя пользователя и отображает его с помощью оператора PHP echo

Ожидаемый результат: Посмотреть решение

6. Получить IP-адреса клиента

Напишите сценарий PHP для получения IP-адреса клиента.

7. Определить браузер и операционную систему пользователя

Напишите простой сценарий определения браузера и операционной системы пользователя.

8. Как узнать имя файла веб-страницы?

Напишите сценарий PHP, чтобы получить текущее имя файла веб-страницы.

9. Получить имя хоста, протокол, путь из url

Напишите сценарий PHP, который будет возвращать следующие компоненты URL-адреса

Список компонентов: Протокол, Хост, Путь

10. Изменение цвета первого символа слова

Напишите сценарий PHP, который изменяет цвет первого символа слова.

11. Как с помощью PHP определить протокол (например, HTTP или HTTPS) url’а?

Напишите сценарий PHP, чтобы проверить, вызывается ли страница с https или http

12. Как перенаправить пользователя на другую страницу

Напишите сценарий PHP для перенаправления пользователя на другую страницу.

13. Проверка валидности email-адреса

Напишите простой код PHP, чтобы проверить валидность email-адреса.

Подсказка : используйте фильтр FILTER_VALIDATE_EMAIL, который проверяет значение как валидный адрес электронной почты.

14. Отображение строк и переменных в таблице

Напишите сценарий PHP для отображения строк и переменных в таблице

Зарплата Ивана1000$
Зарплата Карла1200$
Зарплата Степана1400$

Примечание. Используйте элементы таблицы HTML и оператор echo.

15. Отобразить исходный код веб-страницы

Напишите сценарий PHP для отображения исходного кода веб-страницы (например, https://wm-school.ru/).

16. Получить информации о последних изменениях файла

Напишите сценарий PHP для получения информации о последних изменениях файла

17. Посчитать количества строк в файле

Напишите сценарий PHP для подсчета количества строк в файле.

Примечание. Сохраните имя текстового файла в переменной и подсчитайте количество строк текста в нем.

18. Отобразить текущую версию PHP

Напишите сценарий PHP для вывода текущей версии PHP.

19. Как отложить выполнение программы на указанное количество секунд

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

20. Использование переменных символьного типа для вывода чисел

21. Как узнать последнюю произошедшую ошибку PHP

Напишите сценарий PHP, чтобы узнать последнюю произошедшую ошибку.

22. Проверить больше ли число чем 30, 20 или 10

Напишите функцию PHP, которая принимает в качестве параметра число и проверяет, больше ли оно чем 30, 20 или 10. Используйте тернарный оператор.

23. Как получить полный URL

Напишите сценарий PHP, чтобы получить полный URL

24. Сравните версию PHP

Напишите сценарий PHP для сравнения версии PHP.

25. Получить имя владельца текущего сценария PHP

Напишите сценарий PHP, чтобы получить имя владельца текущего скрипта PHP

26. Как получить корневой каталог документов, в котором выполняется текущий скрипт

Напишите сценарий PHP для получения корневого каталога документов, в котором выполняется текущий скрипт, как определено в файле конфигурации сервера.

27. Получить информацию об операционной системе, в которой работает PHP

Напишите сценарий PHP для получения информации об операционной системе, в которой работает PHP.

28. Выведите список всех разработчиков PHP

Напишите сценарий PHP, чтобы распечатать список всех разработчиков PHP.

29. Получить путь к каталогу, используемому для временных файлов

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

30. Напишите сценарий PHP, чтобы получить имена функций модуля.

Напишите сценарий PHP, чтобы получить имена функций модуля XML.

31. Как узнать время последней модификации текущей страницы

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

32. Как поменять значения между двумя переменными PHP

Напишите программу PHP для обмена значениями между двумя переменными.

Источник

Задачи на ООП в PHP. Часть 1

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

Перед решением задач изучите теорию к данному уроку.

Задачи для решения

Работа с классами и объектами

Выведите на экран сумму зарплат Ивана и Васи. Выведите на экран сумму возрастов Ивана и Васи.

Создайте 2 объекта этого класса: ‘Иван’, возраст 25, зарплата 1000 и ‘Вася’, возраст 26, зарплата 2000.

Выведите на экран сумму зарплат Ивана и Васи. Выведите на экран сумму возрастов Ивана и Васи.

На __construct

Создайте объект этого класса ‘Дима’, возраст 25, зарплата 1000. Выведите на экран произведение его возраста и зарплаты.

Наследование

Сделайте класс Worker, который наследует от класса User и вносит дополнительное private поле salary (зарплата), а также методы public getSalary и setSalary.

Создайте объект этого класса ‘Иван’, возраст 25, зарплата 1000. Создайте второй объект этого класса ‘Вася’, возраст 26, зарплата 2000. Найдите сумму зарплата Ивана и Васи.

Сделайте класс Student, который наследует от класса User и вносит дополнительные private поля стипендия, курс, а также геттеры и сеттеры для них.

Сделайте класс Driver (Водитель), который будет наследоваться от класса Worker из предыдущей задачи. Этот метод должен вносить следующие private поля: водительский стаж, категория вождения (A, B, C).

Практика

Передаваемые атрибуты могут быть любыми:

Для решения задачи сделайте private метод, который параметром будет принимать массив, например, [‘type’=>’text’, ‘value’=>’. ‘] и делать из него строку с атрибутами, в нашем случае type=»text» value=». «.

Пример создания формы с помощью нашего класса:

В результате получится следующая форма:

Создайте класс SmartForm, который будет наследовать от Form из предыдущей задачи и сохранять значения инпутов и textarea после отправки.

Сессия должна стартовать (session_start) в методе __construct.

Реализуйте класс Flash, который будет использовать внутри себя класс Session из предыдущей задачи (именно использовать, а не наследовать).

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

Создайте класс-оболочку Db над базами данных. Класс должен иметь следующие методы: получение данных, удаление данных, редактирование данных, подсчет данных, очистка таблицы, очистка таблиц.

Создайте класс Log для ведения логов. Этот класс должен иметь следующие методы: сохранить в лог, получить последние N записей, очистить таблицу с логами.

Класс Log должен использовать класс Db из предыдущей задачи (именно использовать, а не наследовать).

Источник

Сборник упражнений и задач по PHP

Пару слов о задачнике

Наш задачник по языку программирования PHP содержит стандартные упражнения и задачи с решениями на закрепление теоретических основ излагаемых в учебнике.

Оглавление задачника

Введение в PHP

3. Создайте переменную, присвойте ей число 5 и выведите его на экран. Создайте вторую переменную, присвойте ей число 10 и выведите его на экран. Выведите на экран сумму, разность, произведение и частное от деления значения первой переменной на значение второй переменной. Присвойте сумму значений этих двух переменных третьей и выведите итог на экран. Теперь увеличьте текущее значение третьей переменной на величину значения второй переменной и выведите его на экран. И, наконец, увеличьте текущее значение третьей переменной в два раза и выведите его на экран. Показать решение.

8. Посмотрите внимательно на условие задачи, в котором сделана попытка вывода значений переменных на экран. При попытке вывода каких из переменных интерпретатором будет выдана ошибка и почему? Показать решение.

9. Создайте две глобальные переменные и присвойте им в качестве значений числа. Затем создайте пользовательскую функцию, которая будет выводить сумму значений этих глобальных переменных (используйте ключевое слово global ). Выведите результат сложения на экран. Показать решение.

11. Имена каких из переменных, указанных в условии, заданы неверно? Почему? Показать решение.

13. Создайте три переменные. Удалите при помощи функции unset() первую переменную и попробуйте вывести ее значение на экран. Удалите одновременно оставшиеся переменные, передав их функции в качестве аргументов через запятую. Попробуйте вывести их значения на экран. Показать решение.

Типы данных

20. Посмотрите на условие задачи. При попытке вывода каких элементов массива будут выведены ошибки и почему? Показать решение.

21. Создайте массив с двумя элементами. Измените значение первого элемента и выведите его на экран. Добавьте в массив еще один элемент в виде пустой строки и выведите его на экран. Добавьте в качестве нового элемента массива другой массив с тремя элементами и выведите на экран значение второго элемента этого массива. Показать решение.

Выражения и операторы

24. Какие значения будут присвоены переменным в результате вычисления выражений? Выведите их на экран. Показать решение.

Управляющие конструкции

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

Функции

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

46. Создайте три переменные и присвойте им числовые значения. Выведите на экран их произведение. Теперь создайте пользовательскую функцию, принимающую два аргумента по ссылке и один аргумент по значению. Функция должна присваивать переменным другие числовые значения. Вызовите функцию, после чего снова выведите на экран произведение всех переменных. Объясните результат. Показать решение.

47. Создайте две переменные и присвойте им числовые значения. Теперь создайте пользовательскую функцию, принимающую два аргумента со значеними по умолчанию и выводящую произведение своих аргументов. Вызовите функцию, передав ей сперва в качестве аргументов значения переменных, затем значение только одной из переменных и, наконец, вообще без аргументов. Объясните полученные результаты. Показать решение.

51. Задайте режим строгой типизации (используйте инструкцию declare(strict_types=1); ), после чего создайте пользовательскую функцию, которая будет принимать два целочисленных аргумента и выводить на экран их сумму. Вызовите функцию, передав ей в качестве аргументов сперва два целых числа, а потом одно из них в виде строки. Закомментируйте строку с инструкцией строгой типизации и перезапустите скрипт. Объясните результат. Показать решение.

53. Создайте переменную и присвойте ей целое число. Создайте еще одну переменную и присвойте ей анонимную функцию, наследующую эту переменную и выводящую на экран ее инкрементированное значение. Осуществите вызов функции, затем измените значение внешней переменной и опять вызовите функцию. Объясните результат. Измените скрипт, задав наследование переменной по ссылке. Объясните изменения результата, если они будут. Показать решение.

Классы и объекты

Источник

Минипроекты PHP для новичков

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

Перед решением задач изучите теорию к данному уроку.

Задачи для решения

Над формой должны выводится сообщения, оставленные предыдущими посетителями сайта (видны всегда, отсортированы по убыванию даты, то есть в начале самые новые).

Все должно работать аналогично предыдущей задаче, но для сообщений нужно реализовать пагинацию, пусть по 5 сообщений на странице.

Реализуйте гостевую книгу, как показано в следующем образце:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте гостевую книгу с пагинацией, как показано в следующем образце:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте записную книгу, как показано ниже.

Образец главной страницы:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы просмотра одной записи:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы добавления записи:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы редактирования записи:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте органайзер, как показано в следующем образце:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте форум, как показано ниже.

Образец главной страницы:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы с темой:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте опрос, как показано ниже. Результаты опроса должны храниться в базе данных.

Образец главной страницы:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы с результатом:

Вы можете открыть этот пример в отдельной вкладке браузера.

Источник

Функции PHP | упражнения с решением

1. Вывести площадь прямоугольника

2. Вывести возвращаемое функцией значение

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

3. Вычислить факториал положительного числа

Напишите функцию для вычисления факториала числа (неотрицательного целого числа). Функция принимает число в качестве аргумента.

Пример вывода для n = 5:
120

4. Проверьте, является ли число простым или нет

Напишите функцию, чтобы проверять, является ли число простым или нет.

5. Перевернуть строку

Напишите функцию для переворота строки.

6. Выполните сортировку массива

Напишите функцию для сортировки массива.

7. Проверьте, все ли буквы в строке строчные

Напишите функцию PHP, которая проверяет, все ли буквы в строке в нижнем регистре.

8. Проверьте, является ли переданная строка палиндромом

Напишите функцию PHP, которая проверяет, является ли переданная строка палиндромом?

Палиндром — число, буквосочетание, слово или текст, одинаково читающееся в обоих направлениях. Например, число 101; слово «топот».

9. Вывести значения, введенные пользователем

10. Вывести количество дней в выбранном пользователем месяце

Сначала создайте массив с именем $months. Используйте названия месяцев в качестве ключей и количество дней в каждом месяце в качестве значений. Для февраля используйте следующее значение: «28 дней, если в високосном году 29».

Затем напишите функцию для создания элемента option для поля выбора месяца из формы. Преобразуйте первый символ названия месяца в верхний регистр.

Создайте для пользователя форму с запросом «Выберите месяц». Затем создайте поле выбора с месяцами в качестве параметров, перебирая созданный массив и используя функцию для создания элементов параметров.

11. Вывести метеоусловия выбранные пользователем

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

Создайте для пользователя форму с запросом «Пожалуйста, введите вашу информацию». Затем создайте три текстовых поля ввода, для ввода пользователем города, месяца и года.

Создайте массив с перечнем погодных условий ckBox(‘солнце’, ‘облака’, ‘дождь’, ‘град’, ‘мокрый снег’, ‘снег’, ‘ветер’, ‘холод’, ‘тепло’).

12. Вывести метеоусловия введенные пользователем в текстовое поле

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

Добавьте в форму запрос: «Что-нибудь еще? Перечислите дополнительные погодные условия в поле ниже, разделив их запятыми». Ниже поставьте текстовое поле размером 60. (Дайте пользователю достаточно места).

Теперь напишите функцию под названием «listIt» для создания элементов для неупорядоченного списка. Ваша функция должна принимать в качестве аргумента строку с разделителями-запятыми или массив строк. В ответе пользователю используйте функцию listIt для ответа пользователя из флажков и из текстового поля.

13. Функция, вызывающая другую функцию

Для этого упражнения PHP возьмите свой скрипт из упражнения о месяцах. Перепишите функцию «option» и назовите её «makeOptions», чтобы она включала в себя всю работу по созданию опции. Она должна будет принять массив в качестве аргумента и перебрать значения ключей массива, чтобы получить параметры.

Напишите вторую функцию «makeSelect» для создания всего поля выбора. Эта функция должна вызывать функцию «makeOptions» для создания параметров. Предусмотрите в функции проверку ошибок, чтобы убедиться, что переменная, используемая для параметров, на самом деле является массивом.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *