Задачник по PHP (с решениями). Роман Игоревич Григорьев

Читать онлайн.
Название Задачник по PHP (с решениями)
Автор произведения Роман Игоревич Григорьев
Жанр Интернет
Серия
Издательство Интернет
Год выпуска 2018
isbn



Скачать книгу

?>

      Дан массив ['Привет, ', 'мир', '!']. Необходимо записать в первый элемент (то

      есть элемент с номером ноль) этого массива слово 'Пока, ' (то есть вместо

      слова 'Привет, ' будет 'Пока, ' ).

      1. <?php

      2. $arr = ['Привет, ', 'мир', '!'];

      3. $arr[0] = 'Пока, '; //перезапишем первый элемент массива

      4. var_dump($arr); //посмотрим на массив и убедимся в том, что он изменился

      5. ?>

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

      есть цифра 5.

      1. <?php

      2.

      3. function getFives($sArr, String $sInt) {

      4. $result = [];

      5.

      6. foreach ($sArr as $item)

      7. if (strpos(strval($item), $sInt) !== false) $result[] = $item; 8. return $result;

      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.