Sortowanie tablic poprzez PHP

0

Witam serdecznie,
Mam taką tablicę:
Array
(
[0] => 9.5|16|NAZWA|2219688|2012-03-01|1000|2005||LPG|6|2|3|4|6|40.00|10%|30.00|30.00|tak|30.00|1|0|0|0|0|10|0||0|
[1] => 8.15|26|NAZWA2|2219625|2012-03-01|1000|2005||LPG|6|1.8|2.7|3.6|5.4|36.00|10%|10.00|30.00|10.00|35.00|1|0|0|0|7|10|0||0|
[2] => 7.5|14|NAZWA3|2219663|2012-03-01|1000|2005||LPG|6|2|3|4|6|40.00|10%|30.00|30.00|tak|tak|1|0|0|0|0|10|0||0|
[3] => 7.15|27|NAZWA4|2219644|2012-03-01|1000|2005||LPG|6|2.2|3.3|4.4|6.6|40.00|10%|12.00|20.00|10.00|36.00|2|0|0|0|8|10|0||0|
[4] => 6.95|10|NAZWA5 |226442222|2012-03-01|1000|2005|0|LPG|6|1.4|2.1|2.8|4.2|24.00|10%|30.00|30.00|tak|nie|1|0|0|0|3|10|-1||0|
[5] => 6.7|23|NAZWA6|226444444|2012-03-01|1000|2005||LPG|6|2.4|3.6|4.8|7.2|40.00|10%|10.00|20.00|tak|25.00|2|0|-1|0|9|10|0||0|
[6] => 6.5|24|NAZWA7|229622, 2219661|2012-03-01|1000|2005||LPG|6|2|3|4|6|40.00|10%|15.00|20.00|tak|25.00|1|0|0|0|5|10|0||0|
[7] => 6.2|21|NAZWA8|2219191|0000-00-00|1000|2005||LPG|6|2.4|3.6|4.8|7.2|40.00|10.00%|tak|tak|tak|tak|2|0|-3|0|8|10|0||0|
[8] => 6.2|20|NAZWA9|226777777|2012-03-01|1000|2005||LPG|6|2.4|3.6|4.8|7.2|40.00|10.00%|10.00|20.00|tak|30.00|2|0|0|0|0|10|0||0|
[9] => 5.8|13|NAZWA10 |2219662|2012-03-01|1000|2005||LPG|6|1.6|2.4|3.2|4.8|32.00|10%|10.00|20.00|tak|20.00|1|0|0|0|4|10|0||0|
[10] => 4.7|18|NAZWA11 |229623, 2219628|2012-03-01|1000|2005||LPG|6|2.4|3.6|4.8|7.2|40.00|10%|15.00|20.00|tak|10.00|2|0|0|-3|0|10|0||0|
[11] => 4.65|15|NAZWA12 |2219668|2012-03-01|1000|2005||LPG|6|1.8|2.7|3.6|5.4|36.00|10%|tak|20.00|tak|tak|2|0|0|0|5|10|0||0|
[12] => 4.525|6|NAZWA13 |221005353|2012-03-01|1000|2005|0|LPG|6|1.3|1.95|2.6|3.9|24.00|10%|10.00|15.00|tak|tak|1|0|0|0|1|10|0||0|
[13] => 3.8|17|NAZWA14|26464646|2012-03-01|1000|2005||LPG|6|1.6|2.4|3.2|4.8|32.00|10%|tak|tak|tak|tak|1|0|0|0|6|10|0||0|
[14] => 3.85|9|NAZWA15|2219626|2012-03-01|1000|2005|0|LPG|6|2.2|3.3|4.4|6.6|40.00|10%|15.00|20.00|tak|nie|1|0|0|0|0|10|0||0|
[15] => 3.58|22|NAZWA16|2219669|2012-03-01|1000|2005||LPG|6|1.9|2.8|3.8|5.7|38.00|10%|tak|tak|tak|tak|1|0|0|1|0|10|0||0|
[16] => 3.48|25|NAZWA17|2219664|2012-03-01|1000|2005||LPG|6|2.2|3|4|6|40.00|10%|tak|tak|tak|tak|1|0|0|0|6|10|0||0|
[17] => 2.65|8|NAZWA18|2219459|2012-03-01|1000|2005|0|LPG|6|1.8|2.7|3.6|5.4|36.00|10%|tak|tak|tak|nie|1|0|0|0|2|10|0||0|
[18] => 10.7|19|NAZWA19|2219624|2012-03-01|1000|2005||LPG|6|2.4|3.6|4.8|7.2|40.00|10%|20.00|25.00|tak|30.00|1|0|-3|0|7|10|0||0|
[19] => 1.875|7|NAZWA20|2219667|2012-03-01|1000|2005|0|LPG|6|1.5|2.25|3|4.5|30.00|10%|tak|tak|tak|nie|1|2|1|0|0|10|0||0|
[20] => 1.7|11|NAZWA21|228111111|2012-03-01|1000|2005|0|LPG|6|2.4|3.6|4.8|7.2|40.00|10%|15.00|20.00|nie|nie|1|0|1|0|0|10|0||0|
[21] => -122|28|NAZWA22|tel|2000-03-01|1000|2005|postoje|LPG|111|222|333|444|555|postoj|rabat|77|88|99|tak|2|-14|-6|4|9|10|0|www|1|
)

Muszę przesortować te wartości po 5,4,3 i 2 ostatnich polach (czyli od końca odliczając po "|"). Wiecie może jak to zrobić?
Próbuję z tym już od 2 dni, ale już nie mam pomysłów :(

0

To może użyj funkcji uasort? Możesz w niej zdefiniować właśną funckję porównującą dwa elementy sortowanej tablicy, więc pozostaje tylko wyciągnięcie żądanych wartości ze stringa.

0

tylko te moje "szukane" są w różnych miejscach... a tego nie da się sortować... nie?:(

0

I co z tego? To nie przeszkadza przy użyciu uasort - w końcu sam piszesz funkcję porównującą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1