За последние 24 часа нас посетили 16695 программистов и 1642 робота. Сейчас ищут 899 программистов ...

Выбрать из массива 5 самых крупных значения

Тема в разделе "PHP для новичков", создана пользователем Igorby, 10 янв 2016.

  1. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    А что делает вызов? Отрезает часть массива, в данном случае первые 5 элементов. Зачем это делать 5 раз? На кой чёрт? По логике, достаточно отрезать один раз. Поэтому ставится перед циклом. Всё потому, что php-коду не предшествует алгоритм, написанный по-русски, или блоксхема. У вас тут сработало, потому что массив константный, и заведомо больше 5 элементов. Поэтому в первой итерации он отрезал 5 элементов, потом уже отрезает 5 элементов от 5 элементов. А в реальных задачах данные обычно не известны заранее, и была бы проблема.
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Код (PHP):
    1. <?php
    2. $arr = array(10, 12, 14, 1, 5, 21, 91, 97, 50, 210); // объявил массив
    3. rsort($arr); // отсортировал по убыванию значений
    4. $arr = array_slice($arr, 0, 5); // сделал срез "первые пять элементов"
    5. echo implode('<br />', $arr), '<br />'; // вывел "столбиком" эти пять элементов и потом еще один "перевод строки"  
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    я не говорю что ты что-то сделал не верно, я просто говорю что у твоего варианта есть подводные камни, это надо всегда учитывать при написании кода.
    если тебе этот массив не нужен после, тогда все ок, а если.. надо искать иные подходы.

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

    напиши разные варианты работы, так будет лучше.
     
  4. Igorby

    Igorby Новичок

    С нами с:
    30 сен 2015
    Сообщения:
    34
    Симпатии:
    0
    Очень хотелось бы написать рассмотреть этот пример с как можно больших сторон.
    Но увы додумался пока, что до вышеуказанного.
    Буду рад если подскажете другие направления (помимо пузырчатой сортировки, мне кажется она сложной)

    Добавлено спустя 1 минуту 8 секунд:
    Круто, такого (implode) я не знал
     
  5. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ууууу... Пузырёк - самый простой из существующих алгоритмов сортировки. До него не сложно и самостоятельно дойти. Правда, и наименее эффективный.

    По поводу сохранения первоначального массива - так вам VLK же сказал, что делать.
     
  6. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну правильно, тебе же ВСЕГО НЕСКОЛЬКО РАЗ сказали заглянуть в нужный раздел мануала. даже ссылку давали. тоже НЕСКОЛЬКО РАЗ кстати. и после этих НЕСКОЛЬКИХ РАЗ ты всё еще НЕ УЗНАЛ такой функции. вывод? ты нас не уважаешь, не собираешься учиться и вообще пришел сюда за готовым кодом.

    расходимся, парни, тут халявщик. возможно еще и адепт попова.
     
  7. Igorby

    Igorby Новичок

    С нами с:
    30 сен 2015
    Сообщения:
    34
    Симпатии:
    0
    Это уже комплексы какие-то)))
    Я в общем-то люблю разбирать готовый код, не спорю.
    Но сейчас я на таком начальном уровне, даже выбор сделать сложно.
    А дилемма стояла следующая, придумать алгоритм самому (хотя бы на русском) либо изучать мануал с готовыми функциями.
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    в мануале php есть готовые примеры, опираясь на них ты сможешь состряпать кое-какой говнокод.
     
  9. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну конечно же он говорит не про мануал или примеры из мануала. ему нравится разглядывать готовые решения гуру.