Сборник задач на php

Содержание
  1. Сборник практических задач PHP для подготовки к собеседованию
  2. Базовый PHP | упражнения с решением
  3. 2. Информация о версии и конфигурации PHP
  4. 3. Отображение строк
  5. 4. Вывод переменной
  6. 5. Вывод имени, введенного в поле ввода
  7. 6. Получить IP-адреса клиента
  8. 7. Определить браузер и операционную систему пользователя
  9. 8. Как узнать имя файла веб-страницы?
  10. 9. Получить имя хоста, протокол, путь из url
  11. 10. Изменение цвета первого символа слова
  12. 11. Как с помощью PHP определить протокол (например, HTTP или HTTPS) url’а?
  13. 12. Как перенаправить пользователя на другую страницу
  14. 13. Проверка валидности email-адреса
  15. 14. Отображение строк и переменных в таблице
  16. 15. Отобразить исходный код веб-страницы
  17. 16. Получить информации о последних изменениях файла
  18. 17. Посчитать количества строк в файле
  19. 18. Отобразить текущую версию PHP
  20. 19. Как отложить выполнение программы на указанное количество секунд
  21. 20. Использование переменных символьного типа для вывода чисел
  22. 21. Как узнать последнюю произошедшую ошибку PHP
  23. 22. Проверить больше ли число чем 30, 20 или 10
  24. 23. Как получить полный URL
  25. 24. Сравните версию PHP
  26. 25. Получить имя владельца текущего сценария PHP
  27. 26. Как получить корневой каталог документов, в котором выполняется текущий скрипт
  28. 27. Получить информацию об операционной системе, в которой работает PHP
  29. 28. Выведите список всех разработчиков PHP
  30. 29. Получить путь к каталогу, используемому для временных файлов
  31. 30. Напишите сценарий PHP, чтобы получить имена функций модуля.
  32. 31. Как узнать время последней модификации текущей страницы
  33. 32. Как поменять значения между двумя переменными PHP
  34. Комментарии
  35. Saved searches
  36. Use saved searches to filter your results more quickly
  37. z-ev/php.tasks
  38. Name already in use
  39. Sign In Required
  40. Launching GitHub Desktop
  41. Launching GitHub Desktop
  42. Launching Xcode
  43. Launching Visual Studio Code
  44. Latest commit
  45. Git stats
  46. Files
  47. README.md
  48. About
Читайте также:  Наложение фона на изображение css

Сборник практических задач PHP для подготовки к собеседованию

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

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

Для старта достаточно клонировать сборник себе и начать описывать реализацию, все оставльное уже есть. Есть готовые входящие данные для задач, есть FB класс, который позволяет уйти от var_dump() или print_r(). Все есть, поставил и сразу можно выполнять задачи — без лишней суеты. Надеюсь, кому-нибудь это окажется нужным.

Как пользоваться?
Для удобства, задачи представилены несколькими интерфейсами папка на Github. Возьмем интерфейс ITestSortInterface (/src/Training) в качестве иллюстрации. Из названия видно, что в нем лежат задачи по сортировке:

array('price'=>10,'count'=>2), * '2'=>array('price'=>5,'count'=>5), * '3'=>array('price'=>8,'count'=>5), * '4'=>array('price'=>12,'count'=>4), * '5'=>array('price'=>8,'count'=>4), * ) * На выходе отсортированный массив * по 'price' DESC и во вторую очередь по 'count' DESC * array( * '2'=>array('price'=>5,'count'=>2), * '5'=>array('price'=>8,'count'=>4), * '3'=>array('price'=>8,'count'=>5), * '1'=>array('price'=>10,'count'=>5), * '4'=>array('price'=>12,'count'=>4), * ) * */ public function testSort2($array); /** * Отсортировать числа на диагонали квадратной матрицы * На входе квадратная матрица * array( * array(10,5,3,6), * array(8,2,11,13), * array(9,25,30,18), * array(34,37,38,24) * ) * * На выходе должен быть массив * array( * array(2,5,3,6), * array(8,10,11,13), * array(9,25,24,18), * array(34,37,38,30) * ) * */ public function testSort3($array); > 

Для начала выполнения заданий необходимо создать класс имплементирующий желаемые интерфейсы. Я назвал свой класс Test:

 $array[0]) $x[] = $array[$i]; else $y[] = $array[$i]; > return array_merge($this->testSort1($y), array($array[0]), $this->testSort1($x)); > /** * Отсортировать двумерный массив пришедший из БД * * На входе array( * '1'=>array('price'=>10,'count'=>2), * '2'=>array('price'=>5,'count'=>5), * '3'=>array('price'=>8,'count'=>5), * '4'=>array('price'=>12,'count'=>4), * '5'=>array('price'=>8,'count'=>4), * ) * На выходе отсортированный массив * по 'price' DESC и во вторую очередь по 'count' DESC * array( * '2'=>array('price'=>5,'count'=>2), * '5'=>array('price'=>8,'count'=>4), * '3'=>array('price'=>8,'count'=>5), * '1'=>array('price'=>10,'count'=>5), * '4'=>array('price'=>12,'count'=>4), * ) * */ public function testSort2($array) < // TODO: Implement testSort2() method. >/** * Отсортировать числа на диагонали квадратной матрицы * На входе квадратная матрица * array( * array(10,5,3,6), * array(8,2,11,13), * array(9,25,30,18), * array(34,37,38,24) * ) * * На выходе должен быть массив * array( * array(2,5,3,6), * array(8,10,11,13), * array(9,25,24,18), * array(34,37,38,30) * ) * */ public function testSort3($array) < // TODO: Implement testSort3() method. >> $test = new Test(); /** * Тут подробнее. * \FireDog\FB::info() - выводит дебаг инфу в консоль сервера * Data::getData(Data::ARR_SIMPL_INT) - предоставляет готовые данные для заданий */ \FireDog\FB::info($test->testSort1(Data::getData(Data::ARR_SIMPL_INT))); 

image

Тут используются два вспомогательных класса \FireDog\FB и Training\Data. ( Позвольте небольшую ремарку: Использование FB или Data не обязательно — это вспомогательные классы для удобства. Однако, консоль браузера представляется мне более удобной альтернативой var_dump() или print_r() )
Первый выводит дебаг инфу в консоль браузера:

Читайте также:  Online html to xls online

Для браузера потребуется установка плагина firephp. Тут плагин для Хрома.
Второй класс Data, хранит готовые данные для заданий. Для задания $test->testSort1() нам нужен массив array(2,5,3,5,6,7,8,9,25,24,18,26,27,28,29,30,31) его то мы и получаем Data::getData(Data::ARR_SIMPL_INT)

Сборник будет пополняться и его можно использовать не только для подготовки к собеседованию, но и просто для тренировки навыков программирования на PHP. Присылайте свои задачи, наиболее интересные будут опубликованы в сборнике.

P.S.
Сборник содержит, только простые задачи, которые встречаются в рамках собеседования. По этой причине некоторые задачи содержат формулировки вроде: «Отсортировать одномерный массив своими силами» Да-да, есть функция sort(), но тут важен контекст собеседования. Если Вам ставят задачу сформулированную именно так и вы на собеседовании, то вероятнее всего, такая задача преследует единственную цель, а именно оценить вашу алгоритмическую подготовку. Надеюсь, это понятно.

Источник

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

Ваше первое задание по PHP: создайте страницу PHP со стандартными тегами HTML , и . Написание HTML-тегов не является строго необходимым, но является хорошей практикой и должно быть первым шагом в каждом упражнении. Рассмотрите возможность создания файла шаблона с уже установленными тегами. Не забудьте сохранить файл с расширением .php.

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

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

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

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

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

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

$var = ‘Учебник PHP’. Поместите эту переменную в заголовок , тег h3 и как текст ссылки в документе HTML.

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

Учебник PHP PHP — аббревиатура от Hypertext Preprocessor. Перейдите в наш Учебник PHP wm-school.

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

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

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

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

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

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

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

Your-User Agent is: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36

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. Использование переменных символьного типа для вывода чисел

Арифметические операции с символьными переменными: $x = ‘B00’. Используя эту переменную, выведите следующие числа:

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

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

Array ( [type] => 8 [message] => Undefined variable: x [file] => H:\OpenServer1\OSPanel\domains\wm-school.rus\php\php-basic-exercises20.php [line] => 266 )

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

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

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

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

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

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

Примечание. Используйте функцию version_compare() и константу PHP_VERSION .

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 для обмена значениями между двумя переменными.

Комментарии

  • Приветствуются комментарии, соответствующие теме урока: вопросы, ответы, предложения.
  • Одну строчку кода оборачивайте в тег , несколько строчек кода — в теги
    . ваш код.

    .

  • Допускаются ссылки на онлайн-песочницы (codepen, plnkr, JSBin и др.).

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Сборник PHP задач для отработки навыков решения c использованием TDD

z-ev/php.tasks

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Отработка навыков решения задач c использованием TDD

$ git clone https://github.com/evgeniizab/php.tasks.git $ cd php.tasks $ composer install $ vendor/bin/phpunit
vendor/bin/phpunit ./tests/ArrayTaskTest.php

Дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо вывести на экран фразу 'Привет, мир!'.

ан массив с числами. Запишите в новый массив только те числа, в которых есть цифра 5

1: Напишите функцию, которая будет сливать два массива таким образом: из, к примеру, [1, 2, 3] и ['a', 'b', 'c'] она сделает [1, 'a', 2, 'b', 3, 'c'].

2: Сделайте аналогичную функцию, которая параметрами будет принимать не два массива, а произвольное количество (пусть функция параметром принимает двухмерный массив, где его подмассивы – это то, что мы будем сливать).

Напишите функцию, которая корректно будет складывать часы и минуты. Примеры: на вход функции подается такое – 01:20:00 + 00:50:00. В результатте функция выведет 02:10:00

Дан многомерный массив $arr. Напишите функцию, которая принимает строки вида 'строка1.строка2.строка3' – буквы разделенные точками, а возвращает элемент многомерного массива $arr['строка1']['строка2']['строка3']. Количество точек в строке может быть любым, вложенность массива тоже любая, ключи массива не содержат точек.

About

Сборник PHP задач для отработки навыков решения c использованием TDD

Источник

Оцените статью