© 2013 All rights reserved.
0

Seřazení pole v PHP

Řazení pole je velice jednoduchá věc, protože nám PHP nabízí spoustu sort funkcí. Problém nastává až v případě, kdy chceme seřadit pole určitým způsobem, pro který ani jedna z funkcí nevyhovuje.

Máme pole, které vypadá takto:

Array ( [0] => a [1] => d [2] => cc [3] => c [4] => b [5] => aa [6] => ab )

Pokud jej chceme seřadit sestupně nebo vzestupně, můžeme použít funkci sort pro vzestupné řazení, nebo RSort pro sestupné řazení. Po aplikování nám vznikne pole:

Array ( [0] => d [1] => cc [2] => c [3] => b [4] => ab [5] => aa [6] => a )

Potřeboval jsem ovšem seřadit pole navíc ještě pole délky řetězce. To znamená tak, aby byly na prvních místech nejkratší řetězce.

Tento problém nám řeší funkce USort (Sort an array by values using a user-defined comparison function), u které si můžeme definovat vlastní funkci pro řazení. Vytvoříme si tedy funkci:

a použijeme ji:

Na výstupu bude pole seřazené přesně tak, jak potřebujeme:

Array ( [0] => a [1] => b [2] => c [3] => d [4] => aa [5] => ab [6] => cc )

Comments are closed for this page

About
Hi, i am programmer from the Czech Republic. I love web development (Ruby, Ruby on Rails, PHP, Nette) and iOS development (Objective-C, Cocoa).
To cooperate, here is my phone:
+420 608 836