$response = [
39.812, 39.651, 40.673, 41.096, 41.556, 43.024, 43.767, 38.831, 37.042, 34.898, 33.954, 31.193, 32.619, 34.762,
36.561, 38.13, 45.557, 42.748, 46.327, 47.014, 44.99, 45.756, 46.555, 51.434, 51.152, 48.385, 49.465, 46.731,
50.797, 54.885, 56.34, 55.264, 56.575, 57.451, 57.873, 55.882, 58.053, 59.094, 65.601, 68.42, 74.06, 74.17,
75.27, 69.278, 68.747, 71.555, 73.506, 73.609, 68.627, 69.061, 64.681, 63.468, 64.814, 66.215, 62.616, 62.022,
61.414, 61.787, 69.706, 65.383, 61.665, 58.181, 55.63, 52.521, 54.116, 63.096, 68.346, 69.788, 71.889, 64.953,
66.553, 66.573,
];
$locals = [
'min' => [],
'max' => [],
];
for ($i = 0, $prevSign = 0; $i < count($response) - 1; $i++) {
$sign = $response[$i] <=> $response[$i + 1]; // PHP 7+
if ($prevSign && $sign && $prevSign !== $sign) {
$locals[$sign === 1 ? 'max' : 'min'][] = $response[$i];
}
$prevSign = $sign;
}
function mean($arr) {
$length = count($arr);
if ($length === 0) return 0;
return array_sum($arr) / $length;
}
$minMean = mean($locals['min']);
$maxMean = mean($locals['max']);
printf('Mean minimum: %0.2f, mean maxiimum: %0.2f', $minMean, $maxMean);
Mean minimum: 53.18, mean maxiimum: 59.78
1, 2, 3, 2, 3, 2, 1
0 + + - + - -
^ ^ ^ в этих точках знак поменялся
Складывать найденные точки в два массива: максимумы и минимумы.содержит в себе кусочек тексте br и вторую часть текста
cover.jpg
input
– по любому чиху – выполняется валидация и пугает честного бюргера сообщениями об ошибках. Это, наверное, отключится?+49
можно и не заставлять вводить, но и не запрещать – если copy-paste или браузер авто-заполняет. Например, продумать вариант, когда номер печатают по одной цифре – и если ещё не введён +49, то автоматом дописать его в начале поля, и поставить курсор в конец, чтобы дальше вводили цифры.disabled
до тех пор, пока не введён валидный номер.