За последние 24 часа нас посетили 21618 программистов и 1029 роботов. Сейчас ищут 773 программиста ...

Выбор минимального числа из массива, с условием

Тема в разделе "Сделайте за меня", создана пользователем TeslaCo, 28 ноя 2022.

Метки:
  1. TeslaCo

    TeslaCo Новичок

    С нами с:
    21 май 2021
    Сообщения:
    10
    Симпатии:
    1
    Здравствуйте, есть задача выбрать минимальное число из перечня в массиве (503, 2959, 115, 2899, 3000, 2775, 0). Но с условием, если самое минимальное число - 115, и второе минимальное число в ряду - 503, имеют разницу между собой более 15%, учитывать второе минимальное число - 503.

    В свою очередь если второе минимальное число 503, имеет разницу с третьим минимальным числом более 15% - 2775, учитывать третье минимальное число.

    Число, которое имеет разницу с соседним минимальным числом менее 15% процентов, будет считаться нужным числом в ряду для переменной $price_monitoring

    Cейчас выбирает просто самое минимальное число, без доп условии о 15%:
    Код (Text):
    1. <?php
    2. $price_monitoring_nozeros = array_values(array_diff(array(503, 2959, 115, 2899, 3000, 2775, 0), array(0)));
    3. $price_monitoring = empty($price_monitoring_nozeros) ? 0 : min($price_monitoring_nozeros);
    4. echo $price_monitoring;
    Заранее спасибо за любую помощь.
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Отсортируйте массив, запустите цикл, и помещайте в новый массив только большие на 15% числа, чем в предыдущей итерации. Для чего помещайте его в отдельную переменную.
    Если, по завершении цикла, в новом массиве ничего не окажется, то значит искомое в нулевом элементе оригинального массива. А если что-то есть, то в нулевом нового.