За последние 24 часа нас посетил 55451 программист и 1795 роботов. Сейчас ищут 794 программиста ...

Поиск минимального значения

Тема в разделе "PHP для новичков", создана пользователем Yankovitz, 21 окт 2017.

  1. Yankovitz

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

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    var_dump выдает array(1) { [0]=> string(29) "2000, 4000, 6000, 8000, 10000" }
    Как получить минимальное значение?
     
  2. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
  3. Yankovitz

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

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Это я понял.
    У меня var_dump($per) выдает такое: array(1) { [0]=> string(29) "2000, 4000, 6000, 8000, 10000" }
    Когда использую
    min($per); выводит 10000
    и
    max($per); выводит 10000
     
  4. Chushkin

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

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Это что, прикол?
    Какое мин/макс, если в массиве одно значение?
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Потому что в переменной изврат какой-то. Эту строку надо сначала разделить по запятой (explode)
     
  6. Yankovitz

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

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Вообще, мне из этой строки нужно вывести самое маленькое число и самое большое (2000 и 10000):
    |1-3 чел.|2000,|4-7 чел.|4000,|8-13 чел.|6000,|14-21 чел.|8000,|22-50 чел.|10000|1-3 чел.|2000,|4-7 чел.|4000,|8-13 чел.|6000,|14-21 чел.|8000,|22-50 чел.|10000

    Прошу помощи у знатоков
     
  7. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Похоже, что ноги растут от этого вопроса ;)
     
  8. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    Вам значала эту строку надо разделить на массив
    1. expode
    2. а потом получив массив применить к нему min max
     
  9. Yankovitz

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

    С нами с:
    21 ноя 2014
    Сообщения:
    194
    Симпатии:
    6
    Спасибо, разобрался
    PHP:
    1.        $var = '|1-3 чел.|2000,|4-7 чел.|4000,|8-13 чел.|6000,|14-21 чел.|8000,|22-50 чел.|10000|1-3 чел.|2000,|4-7 чел.|4000,|8-13 чел.|6000,|14-21 чел.|8000,|22-50 чел.|10000';
    2.         $new = [];
    3.         foreach ( explode ( ',', $var ) AS $item ){
    4.             $e = explode ( '|', $item );
    5.             $new[] = end ( $e );
    6.         }
    7.         $min = '';
    8.         $max = '';
    9.         $min = min( $new );
    10.         $max = max( $new );
     
  10. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    PHP:
    1. <?php
    2. $var = ' |1-3 чел.|2000, |4-7 чел.|4000,|8-13 чел.|6000,|14-21 чел.|8000,|22-50 чел.|10000';
    3. preg_match_all('/(?=>|)\d+(?=,|$)/', $var, $matches);
    4. echo min($matches[0]); // 2000
    5. echo max($matches[0]); // 10000
     
    #10 Deonis, 21 окт 2017
    Последнее редактирование: 21 окт 2017
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    взял, скопировал мой код и ничего не понял. капец