This repository has been archived by the owner on Oct 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
array.php
72 lines (62 loc) · 1.89 KB
/
array.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<pre>
<?php
$arr = [
1,
2,
3,
true,
[
5,
6,
100500,
[
7,
8,
-1
],
],
];
$result = [];
array_walk_recursive(
$arr,
function ($item) use (&$result) {
$result[] = $item;
}
);
$maxElementOfArr = max($result);
echo 'Задание №1 - Максимальный элемент массива равен: ' . $maxElementOfArr . '<br>';
$arrayOfNumeric = [];
foreach ($result as $item) {
if (is_numeric($item)) {
$arrayOfNumeric[] = $item;
}
}
echo '<br>' . 'Задание №2 - Отфильтрованный массив числовых значений: ' . '<br>';
foreach ($arrayOfNumeric as $item) {
echo $item . '<br>';
}
sort($arrayOfNumeric, SORT_NUMERIC);
$numberOfElementInArr = count($arrayOfNumeric);
if ($numberOfElementInArr % 2 === 0) {
$medOfArray = $arrayOfNumeric[$numberOfElementInArr / 2];
echo '<br>' . 'Задание №3 - Медиана массива равна: ' . $medOfArray . '<br>';
} else {
$averageElement = $numberOfElementInArr / 2;
$key1 = ceil($averageElement);
$key2 = floor($averageElement);
$medOfArray = ($arrayOfNumeric[$key1] + $arrayOfNumeric[$key2]) / 2;
echo '<br>' . 'Задание №3 - Медиана массива равна: ' . $medOfArray . '<br>';
}
foreach ($arrayOfNumeric as $item) {
if ($item > ($medOfArray * 2)) {
continue;
} elseif ($item < ($medOfArray * 2 * (-1))) {
continue;
} else {
$arrayOfSortNumeric[] = $item;
}
}
echo '<br>' . 'Задание №3 - Все элементы массива, которые больше и меньше медианы в 2 раза отфильтрованы: ' . '<br>';
foreach ($arrayOfSortNumeric as $item) {
echo $item . '<br>';
}