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

?>

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

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

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

      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.

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