Найти ближайшее число из массива

192
04 февраля 2020, 10:30

Есть массив и переменная:

$array = array(2, 4, 8, 16, 32, 64, 128, 256, 512);
$count = 47;

Как проверить к какому числу из массива переменная ближе, при этом она должна быть больше или равна выбранному числу из массива. Массив статический.

То есть, если число 120, то должно вывести 64, а не 128

Answer 1

С использованием map_reduce():

<?php
$array = array(2, 4, 8, 16, 32, 64, 128, 256, 512);
$count = 31;
echo array_reduce($array, function ($carry, $item) use ($count) {
    return $item <= $count? max($carry, $item): $carry;
});
Answer 2

Нашел решение:

<?php
$array = array(2, 4, 8, 16, 32, 64, 128, 256, 512);
$count = 31;
arsort($array);
foreach($array as $key){
if($key <= $count){
echo "Result: $key";
exit;
}
}
READ ALSO
Постоянно чистится база

Постоянно чистится база

Всем приветВозникла проблема

186
Как вывести переменную в div? php

Как вывести переменную в div? php

Есть файл txt, где временно сохраняется строчкаЯ хочу получить эту строчку на другой странице, и вывести в class="replace"

162
Как правильно реализовать аутентификацию в клиент-серверном приложении используя JWT(от Firebase)

Как правильно реализовать аутентификацию в клиент-серверном приложении используя JWT(от Firebase)

Как это вижу я: 1) Пользователь отправляет на сервер логин и пароль 2) Они проверяются в базе, если соответствуют - сервер генерирует токен3)...

185
PHP прочитать бинарный файл

PHP прочитать бинарный файл

Вобщем нужно распарсить бинарные файлы

161