Сортировка массивов в PHP

Поділитися
Вставка
  • Опубліковано 22 сер 2024
  • Разработка веб-приложения на PHP. Посмотрите уроки: webformyself.c...
    Исходники к уроку тут: webformyself.c...
    В этом уроке будет рассмотрена такая тема, как сортировка массивов в PHP. При решении практических задач с массивами данных приходится работать очень часто и нередко возникает задача сортировки имеющихся массивов. Если это простой массив, тогда нет ничего проще - PHP предлагает такие функции, как sort или rsort.
    Но что, если нужно сортировать многомерный массив? Здесь начинающие программисты часто начинают изобретать велосипед… однако, есть более простой способ - функция usort, работу с которой вы увидите в этом видео.

КОМЕНТАРІ • 46

  • @fuadqurbanzade9258
    @fuadqurbanzade9258 3 роки тому +1

    Лучшее объяснение на белом свете!!!

  • @middle2984
    @middle2984 5 років тому +12

    Суперский урок)

  • @hopexstudio6388
    @hopexstudio6388 2 роки тому

    Огромное спасибо за ролик! Лучшего разъяснения я еще нигде не видел.

  • @kirillsushilnikov9614
    @kirillsushilnikov9614 4 роки тому +4

    Когда я читал документацию, не понял что есть $a и $b, для чего возвращать в пользотвальской функции то или иное значение, что потом с ним будет делаться, так и в видео я этого не услышал.

    • @user-se8tc4vp7v
      @user-se8tc4vp7v 4 роки тому

      И поиск по нету дает полное копирование с php.net)) Как я понял, проходит перебор и сравнение всех вариантов, например arr(3, 2, 6, 8). Сначала сравниваем 3-2, 3-6, 3-8 и так далее. Если = 1, то элемент двигается вниз (в конец) массива, если = -1, то на вверх (в начало) массива, и = 0 оставляет на месте. Как то так)))

  • @gevorgweb2282
    @gevorgweb2282 5 років тому +3

    Отличный урок от меня царский лайк

  • @begovik9866
    @begovik9866 4 роки тому

    Спасибо вам за то, что вы делаете.

  • @WorldSkaynet
    @WorldSkaynet 5 років тому

    Ещё не успел посмотреть, Владлен ты лучший. Хотел это всегда тебе написать

    • @matroskin978
      @matroskin978 5 років тому +1

      Я не Владлен, меня зовут Андрей :)

    • @WorldSkaynet
      @WorldSkaynet 5 років тому

      @@matroskin978 Передай Владлену что, он лучший. И Андрею тоже передай что же красавчик. Передашь, хорошо)

    • @matroskin978
      @matroskin978 5 років тому

      @@WorldSkaynet Хорошо)

  • @esca7a
    @esca7a Рік тому

    Спасибо! :)

  • @a_mexdiev
    @a_mexdiev 2 роки тому

    спасибо

  • @sancofc9730
    @sancofc9730 5 років тому

    Супер, тема интересная , жду продолжения ;)

    • @matroskin978
      @matroskin978 5 років тому

      Спасибо, над продолжением подумаю)

  • @user-jb9ul8hi6o
    @user-jb9ul8hi6o 3 роки тому

    Спасибо. Всё очень понятно.

  • @STALINGRADETS
    @STALINGRADETS 5 років тому +1

    Спасибо!

  • @ATOMKZ
    @ATOMKZ 3 роки тому

    Спасибо за урок

  • @vladimirpsy8755
    @vladimirpsy8755 2 роки тому

    03:32 USORT

  • @Noway-lu5cx
    @Noway-lu5cx 5 років тому

    Спасибо, хотелось бы еще разбор функций для преобразования массивов, типа array_filter(), array_map(), array_reduce() и др. на более сложных примерах

  • @kanekabal416
    @kanekabal416 5 років тому +6

    не раскрыт функционал, как она работает. что во время проверки попадает в $a и $b, что между чем сравнивается так что бы оно отсортировало масив. рассказано целый 0. Типа я вам перепишу мануал и все. Уроки обычно классные, но тут них не понял ка она работает, как по масиву проходет и т.д.

    • @alexanderyusov290
      @alexanderyusov290 5 років тому +1

      го в php.net и читайте

    • @user-du6ns4ww6o
      @user-du6ns4ww6o 4 роки тому +1

      Привет. Я согласен что тема в плане перебора массива не до конца раскрыта, мы новички многого не знаем и если есть люди которые не боятся говорить что я не понял то это хорошо, лучше понять чем чем просто знать что есть функция которая всё сделает и я тупо всё скопипастил и мне ок.

    • @markmark1305
      @markmark1305 3 роки тому

      поддерживаю!

    • @GreatOsmanSultan
      @GreatOsmanSultan Рік тому

      Расдокументировать в php ini дебагер и еще пару строк которые в модуле локалсервера в модуле, настроить phpstrorm прописать пути и по брекпоинту можно все проследить

    • @cunning_jumper
      @cunning_jumper Рік тому

      Напиши перед return print_r( $a . "". $b.";"); и посмотришь, что сравнивается.

  • @user-xn2hu3dl3b
    @user-xn2hu3dl3b 4 роки тому

    Спасибо, внятно

  • @777android777
    @777android777 5 років тому +4

    Вопрос на засыпку. Это все хорошо работает, если массив относительно небольшой. А как лучше сортировать масив, скажем, из 10к+ элементов? 100к+ элементов? (я уже молчу про 1м+)

    • @alexanderyusov290
      @alexanderyusov290 5 років тому

      там уже нужно бы применять алгоритмы кастомные , следуя алгоритмам разделения и т/д. А по поводу скорости нужно пробовать. На практике где вы возьмете такие массивы?

    • @mars8430
      @mars8430 5 років тому

      Думаю, будет очень долго. Походу здесь пузырьковая сортировка под капотом

    • @matroskin978
      @matroskin978 5 років тому +1

      Уроки на тему различных алгоритмов сортировки скоро будут. Из них можно будет узнать и о скорости работы разных алгоритмов, и о самих алгоритмах.

  • @KeizashiAcidRain
    @KeizashiAcidRain 11 місяців тому

    7:03 а можно хоть малейшее пояснение, почему если меньше то 1 а в противном случае -1, функция всегда возвращает true, то почему именно -1 в противном случае - на что это влияет если по факту это тоже true. Это влияет только на сортировку по desc/asc ибо return ($a < $b) ? -1 : 1; будет по возрастанию

  • @johnnydou
    @johnnydou 3 роки тому

    Спасибо, очень подробно и доходчиво! А возможно отсортировать по двум полям одновременно? Например по 'name' и 'age'?

  • @baron2272
    @baron2272 3 роки тому

    Хорошо бы рассмотреть сортировку ассоциативных массивов с составными ключами и значениями массива - будет?

  • @loadmore
    @loadmore 4 роки тому

    Нормалек

  • @sogoodlive
    @sogoodlive Рік тому

    Debug для чего ставите ?

  • @haykkarapetyan6198
    @haykkarapetyan6198 4 роки тому

    как узнать сколько одного и того же цифра в массиве php, например $a=[3,33,3,45,5,3,3], сколько есть 3 в массиве,,, если не сложно ответьте на вопрос пожалуйста.

  • @user-rg7nu2ow7t
    @user-rg7nu2ow7t 3 роки тому

    А с буквами где?

  • @eugenstakhursky9604
    @eugenstakhursky9604 5 років тому

    Комментарий, лайк)

  • @jb3236
    @jb3236 5 років тому

    put subtitules

  • @pilyugin
    @pilyugin 4 роки тому

    А лайфхак из js не сработает?)) В cb просто написать return $a - $b;
    По логике же вернет отрицательное число, 0 или положительное, что вполне устраивает функцию сортировки usort()

    • @mewtwo8878
      @mewtwo8878 9 місяців тому

      да сработает