Задания php для начинающих

Задания php для начинающих

Учебник PHP

Практика

Важное

Регулярки

  • Урок №
    Введение, задач нет
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 1.
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 2.
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 3.
  • Урок №
    Работа с регулярными
    выражениями в PHP. Глава 4.

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

  • Урок №
    Введение, задач нет
  • Урок №
    Команды SELECT,
    INSERT, DELETE, UPDATE
  • Урок №
    Команды ORDER BY,
    LIMIT, COUNT, LIKE в SQL

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

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

Практика

Движок PHP

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

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

Практика

ООП и MVC

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

Трейты

ООП Магия

Практика

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

  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс ArrayConvertor
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс TagHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс FormHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс TableHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс SessionShell
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс CookieShell
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс FileManipulator
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс databaseShell TODO cart корзина flash шаблонизатор роутер контроллер кеш логи фалидатор

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

Примеры решения задач

Задача

Задача. Создайте переменную $var и присвойте ей значение ‘hello’. Обращаясь к отдельным символам этой строки выведите на экран символ ‘h’, символ ‘e’, символ ‘o’.

Решение: будем обращаться к отдельным символам этой строки, к примеру, буква ‘h’ имеет номер 0 и ее можно вывести так — $var[0], буква ‘e’ имеет номер 1 и так далее:

Задача

Задача. Напишите скрипт, который считает количество секунд в часе.

Решение: так как в минуте 60 секунд, а в часе — 60 минут, то умножив 60 на 60 мы получим количество секунд в часе:

Если нам нужно получить количество секунд в сутках, то умножим еще и на 24 (так как в сутках 24 часа):

Задача

Задача. Переделайте приведенный код так, чтобы в нем использовались операции +=, -=, *=, /=, ++, —. Количество строк кода при этом не должно измениться. Код для переделки:

Решение: заменим все подходящие места на сокращенную форму записи. К примеру, вместо $var = $var + 12 можно написать $var += 12, а вместо $var = $var + 1 будет $var++. Результат переделки будет выглядеть так:

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

Работа с переменными

Создайте переменную $a и присвойте ей значение 3. Выведите значение этой переменной на экран.

Создайте переменные $a=10 и $b=2. Выведите на экран их сумму, разность, произведение и частное (результат деления).

Читайте также:  Как выровнять текст в ворде в рамке

Создайте переменные $c=15 и $d=2. Просуммируйте их, а результат присвойте переменной $result. Выведите на экран значение переменной $result.

Создайте переменные $a=10, $b=2 и $c=5. Выведите на экран их сумму.

Создайте переменные $a=17 и $b=10. Отнимите от $a переменную $b и результат присвойте переменной $c. Затем создайте переменную $d, присвойте ей значение 7. Сложите переменные $c и $d, а результат запишите в переменную $result. Выведите на экран значение переменной $result.

Работа со строками

Создайте переменную $text и присвойте ей значение ‘Привет, Мир!’. Выведите значение этой переменной на экран.

Создайте переменные $text1=’Привет, ‘ и $text2=’Мир!’. С помощью этих переменных и операции сложения строк выведите на экран фразу ‘Привет, Мир!’.

Создайте переменную $name и присвойте ей ваше имя. Выведите на экран фразу ‘Привет, %Имя%!’. Вместо %Имя% должно стоять ваше имя.

Создайте переменную $age и присвойте ей ваш возраст. Выведите на экран ‘Мне %Возраст% лет!’.

Обращение к символам строки

Создайте переменную $text и присвойте ей значение ‘abcde’. Обращаясь к отдельным символам этой строки выведите на экран символ ‘a’, символ ‘c’, символ ‘e’.

Дана произвольная строка, например, ‘abcde’. Поменяйте первую букву (то есть букву ‘a’) этой строки на ‘!’.

Создайте переменную $num и присвойте ей значение ‘12345’. Найдите сумму цифр этого числа.

Практика

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

Создайте три переменные — час, минута, секунда. С их помощью выведите текущее время в формате ‘час:минута:секунда’.

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

Работа с присваиванием и декрементами

Переделайте этот код так, чтобы в нем использовались операции +=, -=, *=, /=. Количество строк кода при этом не должно измениться.

Переделайте этот код так, чтобы в нем использовалась операция .=. Количество строк кода при этом не должно измениться.

Переделайте этот код так, чтобы в нем использовались операции ++ и . Количество строк кода при этом не должно измениться.

Переделайте этот код так, чтобы в нем использовались операции ++, — , +=, -=, *=, /=. Количество строк кода при этом не должно измениться.

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

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

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

Читайте также:  Как отключить инверсию мыши в windows 10

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

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

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

Для браузера потребуется установка плагина 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. Присылайте свои задачи, наиболее интересные будут опубликованы в сборнике.

Primary tabs

Forums:

Как решать задачи (ознакомьтесь, прежде чем начать решать):

  1. Следуйте рекомендациям оформления решения задачи.
  2. В конечном итоге каждую задачу следует оформлять в виде функции и использующего эту функцию кода — т.е. функция должна принимать некоторые параметры (см. пример с пояснением). Для формирования массивов, заданных случайным образом, используйте отдельную функцию (с поправкой на условие конкретной задачи). Не забудьте про область видимости переменных внутри функции.
    Если у вас не получается сразу решить очередную задачу в виде функции (или вообще не получается) — публикуйте вопрос (оформляем как и решение, только без кода, с указанием того, что непонятно) или то решение, которое получилось, опять же, с вашими вопросами.
  3. Читать примечания к конкретным задачам (см. ниже) стоит только после того, как вы потратили на её решение какое-то время (т.е. сначала пробуйте решить самостоятельно) и/или после того как уже решили задачу, чтобы узнать больше.
  4. ОБЯЗАТЕЛЬНО ЗАПУСКАЙТЕ КОД перед тем как опубликовать своё решение, чтобы на практике убедиться, что оно рабочее. Можно так. Если Вы используете локальную среду разработки, настройте полное отображение ошибок.

Учебные задачи — PHP

Примечания по тексту условий:

  • Далее под "N значений" подразумеваются как минимум: ноль и все остальные натуральные числа (ноль важен, так как часто в прикладном программировании мы имеем дело с пустыми списками, напр. когда пользователь не заполнил ни одно значение — программа должна корректно работать и в этом случае).

    Вывести на экран N случайных чисел (каждое с новой строки) из диапазона [-21, 35]

ПРИМЕЧАНИЕ: подразумевается, что вы должны организовать цикл, который выполнится N раз и при этом в каждом своём витке выведет на экран случайное число.

  • Вывести на экран сумму N случайных чисел.
  • Вывести на экран N случайных чисел (каждое с новой строки). Для каждого числа, начиная со второго, рядом выводить — больше ли оно предыдущего или меньше. например:
  • Вывести на экран n-ное число Фибоначчи. Пример последовательности:
  • Дано некоторое число длиной от 1 до 5 цифр — вывести его цифры в обратном порядке.
    Например:
  • Читайте также:  Код активации для airdroid премиум

    Подсказка: используйте цикл while и операцию получения остатка.

  • Дано некоторое число длиной от 1 до 5 символов, вывести все его "нечётные" цифры в обратном порядке (аналогично предыдущей задаче), если же таких цифр не найдёт, вывести сообщение "Нечетных цифр не обнаружено!"
  • Задать массив из 7-ми элементов через предварительное описание типа, заполнить его случайными значениями в одном цикле, а в другом цикле вывести эти значения на экран.
  • Задать двумерный массив размерностью m на n (MxN) элементов (m и n вынести в область определения констант), заполнить его случайными значениями и вывести их на экран уже после того, как весь массив будет заполнен (т.е. заполнять и выводить в разных группах циклов).
  • Задайте случайным образом массив из N элементов. Выведите его на экран "ёлочкой". Вот начало такого вывода:
  • Второй вариант — сделайте то же самое, но не используйте массив: у вас есть переменная N, выведете на экран, все числа до N, по тому же принципе что и выше, например, если N=9, то получим:

  • Задайте случайным образом массив из N элементов (целых чисел). Найдите максимальное число и напечатайте его.
  • Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его.
  • Даны два массива по 20 элементов каждый (заполните случайными числами, так чтобы среди элементов массива при очередном запуске программы могли встретиться и отрицательные и положительные числа).
    Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива — сравнение проводите пока не закончится та выборка, которая короче.
    Например пусть мы имеем два массива (запишу лишь начальные элементы):
  • 1 | 2 | -10 | 5 | 0 | 12 | 2 | 8 .
    0 | 3 | 4 | 9 | 7 | 5 | -8 | 3.

    для них программа должна вывести:

    — других сравнений не последует, так как новых из "каждых третьих элементов" в 1-ом массиве больше нет.

    Если у вас не получается решить/понять — почитайте [Примечания к задаче].

    Создайте функцию, которая принимает на вход массив случайных чисел из диапазона [5..12]. Обходит этот массив и делает для каждого элемента следующее (пусть она оказывает побочный эффект прямо в своём теле):
    Если это число равно 5 — то выведете на экран строку "пять", если 6 — то строку "шесть", если 7 то число "7", иначе — строку "какое-то другое число".

    Используйте для решения задачи оператор switch (или см. книгу Стивена Хольцнера стр. 60).

    Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве "b"

    Ссылка на основную публикацию
    Днепровский канал в крыму на карте
    Первым автором идеи использования днепровской воды для орошения крымских земель в 1833 г. был действительный статский советник, инспектор южнороссийского сельского...
    Где находится облачное хранилище на андроиде самсунг
    Не все владельцы мобильных устройств Samsung знают, что в их распоряжении есть полезный сервис Samsung Cloud. В данной статье мы...
    Где находятся сервера steam
    Please complete the security check to access youhack.ru Why do I have to complete a CAPTCHA? Completing the CAPTCHA proves...
    Документ ворд стал в клеточку как убрать
    Лист в клетку можно увидеть в документах Word, если нажать всего на одну клавишу. Это фоновый рисунок, который виден только...
    Adblock detector