Задачи на PHP

Практическая работа №3

Работа с %

1. Даны переменные $a=10 и $b=3. Найдите остаток от деления $a на $b.

                    Остаток от деления 10 на 3: 1                

2. Даны переменные $a и $b. Проверьте, что $a делится без остатка на $b. Если это так - выведите 'Делится' и результат деления, иначе выведите 'Делится с остатком' и остаток от деления.

                    Делится с остатком. Остаток от деления: 3                

Работа со степенью и корнем

1. Возведите 2 в 10 степень. Результат запишите в переменную $st.

                    2 в 10 степени равно: 1024                

2. Найдите квадратный корень из 245.

                    Квадратный корень из 245 равен: 15.652475842499                

3. Дан массив с элементами 4, 2, 5, 19, 13, 0, 10. Найдите корень из суммы квадратов его элементов. Для решения воспользуйтесь циклом foreach.

                    Корень из суммы квадратов элементов массива: 25.980762113533                

Работа с функциями округления

1. Найдите квадратный корень из 379. Результат округлите до целых, до десятых, до сотых.

                    
                        Округленный корень из 379 (до целых): 19
Округленный корень из 379 (до десятых): 19.5
Округленный корень из 379 (до сотых): 19.47

2. Найдите квадратный корень из 587. Округлите результат в большую и меньшую сторону, запишите результаты округления в ассоциативный массив с ключами 'floor' и 'ceil'.

                    Округленные значения корня из 587: Array
(
    [floor] => 24
    [ceil] => 25
)
                

Работа с min и max

1. Даны числа 4, -2, 5, 19, -130, 0, 10. Найдите минимальное и максимальное число.

                    
                        Минимальное число: -130
Максимальное число: 19

Работа с рандомом

1. Выведите на экран случайное число от 1 до 100.

                    Случайное число от 1 до 100: 71

2. Заполните массив 10-ю случайными числами.

                    Массив из 10 случайных чисел: Array
(
    [0] => 1420791330
    [1] => 19893920
    [2] => 426762816
    [3] => 1377737587
    [4] => 280814954
    [5] => 715180789
    [6] => 909274784
    [7] => 988546588
    [8] => 1198441136
    [9] => 1700066391
)
                

Работа с модулем

1. Даны переменные $a и $b. Найдите найдите модуль разности $a и $b. Проверьте работу скрипта самостоятельно для различных $a и $b.

                    Модуль разности 10 и 7: 3

2. Дан массив с числами, к примеру [1, 2, -1, -2, 3, -3]. Создайте из него новый массив так, чтобы отрицательные числа стали положительными, то есть у нас должен получиться такой массив: [1, 2, 1, 2, 3, 3].

                    
                        Исходный массив: 1, 2, -1, -2, 3, -3
Новый массив: 1, 2, 1, 2, 3, 3

Работа с регистром символов

Дана строка 'php'. Сделайте из нее строку 'PHP'.

                    Строка в верхнем регистре: PHP

Дана строка 'PHP'. Сделайте из нее строку 'php'.

                    Строка в нижнем регистре: php

Дана строка 'london'. Сделайте из нее строку 'London'.

                    Первая буква в верхнем регистре: London

Дана строка 'London'. Сделайте из нее строку 'london'.

                    Первая буква в нижнем регистре: london

Дана строка 'london is the capital of great britain'. Сделайте из нее строку 'London Is The Capital Of Great Britain'.

                    Каждое слово начинается с заглавной буквы: London Is The Capital Of Great Britain

Дана строка 'LONDON'. Сделайте из нее строку 'London'.

                    Строка с заглавной первой буквой: London                

Работа с strlen

 Дана строка 'html css php'. Найдите количество символов в этой строке.

                    Количество символов в строке 'html css php': 12

Дана переменная $password, в которой хранится пароль пользователя. Если количество символов пароля больше 5-ти и меньше 10-ти, то выведите пользователю сообщение о том, что пароль подходит, иначе сообщение о том, что нужно придумать другой пароль.

                    Пароль должен быть длиной от 6 до 9 символов                

Работа с substr

Дана строка 'html css php'. Вырежьте из нее и выведите на экран слово 'html', слово 'css' и слово 'php'.

                    
                        1: html
2: css
3: php

Дана строка. Вырежите и выведите на экран последние 3 символа этой строки.

                    Строка Hello, world!. Последние 3 символа строки: ld!

Дана строка. Проверьте, что она начинается на 'http://'. Если это так, выведите 'да', если не так - 'нет'.

                    Да, строка http://example.com начинается с http://                

Дана строка. Проверьте, что она начинается на 'http://' или на 'https://'. Если это так, выведите 'да', если не так - 'нет'.

                    Да, строка https://example.com                

Дана строка. Проверьте, что она заканчивается на '.png'. Если это так, выведите 'да', если не так - 'нет'.

                    Нет, строка file.pdf                

Дана строка. Проверьте, что она заканчивается на '.png' или на '.jpg'. Если это так, выведите 'да', если не так - 'нет'.

                    Да, строка image.png                

Дана строка. Если в этой строке более 5-ти символов - вырежите из нее первые 5 символов, добавьте троеточие в конец и выведите на экран. Если же в этой строке 5 и менее символов - просто выведите эту строку на экран.

                    Исходная строка: hello, world!, преобразованная строка: hello...

Работа с str_replace

Дана строка '31.12.2013'. Замените все точки на дефисы.

                    Замененная строка: 31-12-2013

Дана строка $str. Замените в ней все буквы 'a' на цифру 1, буквы 'b' - на 2, а буквы 'c' - на 3.

                    Замененная строка: 123123123

Дана строка с буквами и цифрами, например, '1a2b3c4b5d6e7f8g9h0'. Удалите из нее все цифры. То есть в нашем случае должна получится строка 'abcbdefgh'.

                    Строка без цифр: abcbdefgh

Работа с strtr

Дана строка $str. Замените в ней все буквы 'a' на цифру 1, буквы 'b' - на 2, а буквы 'c' - на 3. Решите задачу двумя способами работы с функцией strtr (массив замен и две строки замен).

                    Исходная строка: abcabcabc, замененная строка (массив замен): 123123123
Замененная строка (две строки замен): 123123123

Работа с substr_replace

Дана строка $str. Вырежите из нее подстроку с 3-го символа (отсчет с нуля), 5 штук и вместо нее вставьте '!!!'.

                    Исходная строка: 1234567890, замененная строка: 12!!!890

Работа с strpos, strrpos

Дана строка 'abc abc abc'. Определите позицию первой буквы 'b'.

                    Позиция первой буквы 'b': 1

Дана строка 'abc abc abc'. Определите позицию последней буквы 'b'.

                    Позиция последней буквы 'b': 9

Дана строка 'abc abc abc'. Определите позицию первой найденной буквы 'b', если начать поиск не с начала строки, а с позиции 3.

                    Позиция первой буквы 'b' после позиции 3: 5

Дана строка 'aaa aaa aaa aaa aaa'. Определите позицию второго пробела.

                    Позиция второго пробела: 7

Проверьте, что в строке есть две точки подряд. Если это так - выведите 'есть', если не так - 'нет'.

                    Да, в строке 'Once upon a time...' есть две точки подряд.                

Проверьте, что строка начинается на 'http://'. Если это так - выведите 'да', если не так - 'нет'.

                    Да, строка 'https://example.com' начинается с http://                

Работа с explode, implode

Дана строка 'html css php'. С помощью функции explode запишите каждое слово этой строки в отдельный элемент массива.

                    html css php                 

Дан массив с элементами 'html', 'css', 'php'. С помощью функции implode создайте строку из этих элементов, разделенных запятыми.

                    Объединенная строка: html, css, php

В переменной $date лежит дата в формате '2013-12-31'. Преобразуйте эту дату в формат '31.12.2013'.

                    Преобразованная дата: 31.12.2013                

Работа с str_split

Дана строка '1234567890'. Разбейте ее на массив с элементами '12', '34', '56', '78', '90'.

                    Массив с разделенными парами символов: 

12
34
56
78
90

Дана строка '1234567890'. Разбейте ее на массив с элементами '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'.

                    Массив с отдельными символами: 

1
2
3
4
5
6
7
8
9
0

Дана строка '1234567890'. Сделайте из нее строку '12-34-56-78-90' не используя цикл.

                    Строка с разделителями: 12-34-56-78-90

Работа с trim, ltrim, rtrim

Дана строка. Очистите ее от концевых пробелов.

                    
                        Исходная строка: '   Пробелы по краям строки   '. 
Строка без пробелов по краям: 'Пробелы по краям строки'

Дана строка '/php/'. Сделайте из нее строку 'php', удалив концевые слеши.

                    Строка без слешей по краям: 'php'

Дана строка 'слова слова слова.'. В конце этой строки может быть точка, а может и не быть. Сделайте так, чтобы в конце этой строки гарантировано стояла точка. То есть: если этой точки нет - ее надо добавить, а если есть - ничего не делать. Задачу решите через rtrim без всяких ифов.

                    Строка с точкой в конце: 'слова слова слова.'

Работа с strrev

Дана строка '12345'. Сделайте из нее строку '54321'.

                    Перевернутая строка: 54321

Проверьте, является ли слово палиндромом (одинаково читается во всех направлениях, примеры таких слов: madam, otto, kayak, nun, level).

                    Строка level является палиндромом.                

Работа с str_shuffle

Дана строка. Перемешайте символы этой строки в случайном порядке.

                    Исходная строка: Hello, world!. Перемешанная строка: olw eHl,odl!r.                

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

                    Случайная строка из 6 маленьких латинских букв: avsrhc

Работа с number_format

Дана строка '12345678'. Сделайте из нее строку '12 345 678'.

                    Отформатированная строка: 12 345 678

Работа с str_repeat

Нарисуйте пирамиду, как показано на рисунке, только у вашей пирамиды должно быть 9 рядов, а не 5. Решите задачу с помощью одного цикла и функции str_repeat.
x
xx
xxx
xxxx
xxxxx

                    
x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx

Нарисуйте пирамиду, как показано на рисунке. Решите задачу с помощью одного цикла и функции str_repeat.
1
22
333
4444
55555
666666
7777777
88888888
999999999

                    
1
22
333
4444
55555
666666
7777777
88888888
999999999

Работа с strip_tags и htmlspecialchars

Дана строка 'html, <b>php</b>, js'. Удалите теги из этой строки.

                    html, php, js                

Дана строка $str. Удалите все теги из этой строки, кроме тегов <b> и <i>.

                    Строка с некоторым количеством разных тегов.                

Дана строка 'html, <b>php</b>, js'. Выведите ее на экран 'как есть': то есть браузер не должен преобразовать <b> в жирный.

                    html, <b>php</b>, js                

Работа с chr и ord

Узнайте код символов 'a', 'b', 'c', пробела.

                    
Код символа 'a': 97
Код символа 'b': 98
Код символа 'c': 99
Код символа ' ' (пробел): 32

Изучите таблицу ASCII. Определите границы, в которых располагаются буквы английского алфавита.

                    Большие буквы A-Z начинаются с кода 65 (A) и заканчиваются кодом 90 (Z).
Маленькие буквы a-z начинаются с кода 97 (a) и заканчиваются кодом 122 (z).

Выведите на экран символ с кодом 33.

                    Исмвол с кодом 33: !                

Запишите в переменную $str случайный символ - большую букву латинского алфавита. 

                    Случайная большая буква латинского алфавита: N                

Запишите в переменную $str случайную строку $len длиной, состоящую из маленьких букв латинского алфавита.

                    nptxedtrbe                

Дана буква английского алфавита. Узнайте, она маленькая или большая.

                    A - это большая буква                

Работа с strchr, strrchr

Дана строка 'ab-cd-ef'. С помощью функции strchr выведите на экран строку '-cd-ef'.

                    -cd-ef                

Дана строка 'ab-cd-ef'. С помощью функции strrchr выведите на экран строку '-ef'.

                    -ef                

Работа с strstr

Дана строка 'ab--cd--ef'. С помощью функции strstr выведите на экран строку '--cd--ef'.

                    --cd--ef                

Задачи

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

                    varTestText                

Дан массив с числами. Выведите на экран все числа, в которых есть цифра 3.

                    
Исходный массив: 123 456 789 333 1432 503
Числа, который содержат цифру 3: 123 333 1432 503