Чтение онлайн

на главную - закладки

Жанры

Задачник по PHP (с решениями)
Шрифт:

9. }

10.

11. $searchInt = 5;

12. $searchArr = [2,1,4,3,5,7,6,9,8,11,10,15,29,25,52,13,51];

13.

14. echo '<pre>';

15. var_dump(getFives($searchArr, $searchInt));

16. echo '</pre>';

17.

?>

Задача «Cтранный массив»*:

Создайте массив вида [1, [2], [[3]], [[[4]]] ], вместо 4 может быть любое целое

значение. К примеру, если 5 –

тогда будет массив [1, [2], [[3]], [[[4]]], [[[[5]]]] ].

1. <?php

2. function getMultiArray($level) {

3. $result = $level;

4. for ($i = 1; $i < $level; $i++) {

5. $result = [$result];

6. }

7. return $result;

8. }

9.

10. function strange($value) {

11. $result = [];

12. for ($i = 1; $i <= $value; $i++) {

13. $result[$i] = getMultiArray($i);

14. }

15. return $result;

16.

}

17.

18. print_r(strange(5));

19.

?>

Задача Хитрое слияние массивов*

1: Напишите функцию, которая будет сливать два массива таким образом: из, к

примеру, [1, 2, 3] и ['a', 'b', 'c'] она сделает [1, 'a', 2, 'b', 3, 'c'].

2: Сделайте аналогичную функцию, которая параметрами будет принимать

не два массива, а произвольное количество (пусть функция параметром принимает

двухмерный массив, где его подмассивы – это то, что мы будем сливать).

1) <?php

2) function array_strange_merge(…$arrays) {

3) $maxLength = 0;

4) foreach ($arrays as $array) {

5) $maxLength = max(count($array), $maxLength);

6) }

7) $result = [];

8) for ($i = 0; $i < $maxLength; $i++) {

9) foreach ($arrays as $array) {

10) if (isset($array[$i])) {

11) $result[] = $array[$i];

12) }

13) };

14) }

15) return $result;

16)

}

17)

18) print_r(array_strange_merge([1,2,3], ['a','b','c','d']));

19)

?>

Дан массив вида [1, ' , 2, ' , ' , 3] – то есть в нем есть пустые строки. Удалите все

такие элементы из этого массива.*

1. <?php

2. $unCleanList = [1, ' , 2, ' , ' , 3];

3. $filteredList = array_filter($unCleanList);

4. var_dump($filteredList);

5. array(3) {

6. [0]=>

7. int(1)

8. [2]=>

9. int(2)

10.

[5]=>

11.

int(3)

12.

}

13.

?>

Напишите

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

Примеры: на вход функции подается такое – 1ч20мин+50мин – в результатте функция

выведет 2ч10мин.*** (Задача решается разными способами, приведите пример

одного из них)

1. <?php

2. function h2s($h) {

3. $h = $h/3600 % 24;

4. $h = $h % 10 ? "0".$h : $h;

5. $h = $h == 0 ? $h = "00" : $h;

6. return $h;

7. }

8. function m2s($m) {

9. $m = $m/60 % 60;

10.

$m = $m % 10 ? "0".$m : $m;

11.

$m = $m == 0 ? $m = "00" : $m;

12.

return $m;

13.

}

14.

function s($s) {

15.

$s = $s % 60;

16.

$s = $s % 10 ? "0".$s : $s;

17.

$s = $s == 0 ? $s = "00" : $s;

18.

return $s;

19.

}

20.

function normal2seconds($normal) {

21.

$hms = explode(":",$normal);

22.

$h = $hms[0]*3600;

23.

$m = $hms[1]*60;

24.

$s = $hms[2];

25.

return $h+$m+$s;

26.

}

27.

function seconds2normal($seconds) {

28.

$v = max($seconds,0);

29.

$h = h2s($v);

30.

$m = m2s($v);

31.

$s = s($s);

32.

return " $h:$m:$s";

33.

}

34.

function timePlus {

35.

$times = func_get_args;

36.

for ($i=0;$i<count($times);$i++) {

37.

$nowtime = explode(":",$times[$i]);

38.

$time += normal2seconds(" $nowtime[0]:$nowtime[1]:$nowtime[2]"); 39.

}

40.

return seconds2normal($time);

41.

}

42.

echo timePlus("01:20:00","00:50:00");

43.

?>

2.2 Ассоциативные массивы

Создайте массив заработных плат $arr. Выведите на экран зарплату Коли.

Решение: чтобы вывести зарплату Коли следует вывести значение элемента

массива с ключом 'Коля' . Сделаем это:

1. <?php

Поделиться:
Популярные книги

Империя отходит от края

Тамбовский Сергей
2. Империя у края
Фантастика:
альтернативная история
5.00
рейтинг книги
Империя отходит от края

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

Нищенка в элитной академии

Зимина Юлия
4. Академия юных сердец
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Нищенка в элитной академии

Последняя Арена

Греков Сергей
1. Последняя Арена
Фантастика:
боевая фантастика
постапокалипсис
рпг
6.20
рейтинг книги
Последняя Арена

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Энфис 7

Кронос Александр
7. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 7

Мимик!

Северный Лис
1. Сбой Системы!
Фантастика:
боевая фантастика
5.40
рейтинг книги
Мимик!

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Повелитель механического легиона. Том I

Лисицин Евгений
1. Повелитель механического легиона
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Повелитель механического легиона. Том I

Волк: лихие 90-е

Киров Никита
1. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк: лихие 90-е

Смерть может танцевать 2

Вальтер Макс
2. Безликий
Фантастика:
героическая фантастика
альтернативная история
6.14
рейтинг книги
Смерть может танцевать 2

"Искажающие реальность" Компиляция. Книги 1-14

Атаманов Михаил Александрович
Искажающие реальность
Фантастика:
боевая фантастика
космическая фантастика
киберпанк
рпг
5.00
рейтинг книги
Искажающие реальность Компиляция. Книги 1-14

Идеальный мир для Лекаря 15

Сапфир Олег
15. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 15