DMG Ierakstīts Decembris 6, 2013 Share Ierakstīts Decembris 6, 2013 Tātad ķeroš uzreizi pie lietas. Man ir nepieciešams sakārtot masīva elementus, lai aiz "1" nerādītos "10", bet "1A" un tamlīdzīgi. Zinu, ka php ir funkcija natsort, kas lieliski derētu, ja vien spētu ņemt vērā arī latviešu burtus. Pretējā gadījumā sanāk, ka pēc tādas sakārtošanas burts "Ģ" atrodas aiz burta "Z". Vai kādam ir nācies saskarties ar kaut ko līdzīgu un atrast sakarīgu risinājumu? Link to comment Share on other sites More sharing options...
Mezavecis Decembris 6, 2013 Share Decembris 6, 2013 (labots) Pastāsti sīkāk, kas tev tas pa īpašo kārtošanas algoritmu. lai aiz "1" nerādītos "10", bet "1A" Ja vajag custom risinājumu, katram simbolam iedod vērtību un šķiro pēc tās. Vēl variants tekstu nokonvertēt atsevišķā kolonnā atmetot speciālos simbolus, ignorējot burtu lielumu un pēc tā kārtot, meklēt, kas gan vairāk gan piemērots meklēšanas optimizēšanai. Ja vajag gatavu risinājumu meklē tur, kur valodā ir speciālie simboli. Piemēram, http://stackoverflow.com/questions/2897924/sort-array-with-special-characters-in-php Labots Decembris 6, 2013 - Mežavecis Link to comment Share on other sites More sharing options...
DMG Decembris 6, 2013 Author Share Decembris 6, 2013 Tur jau tā lieta, ka sakārtot masīvu pēc teksta nav problēma pat ar latviešu burtiem. Varu kaut vai ar sql panākt, lai to izdara pirms dabūju ārā masīvu. Bet tad atkal man nestrādā korekts sakārtojums cipariem. Man ir līdzīga situācija kā ir ar adresēm šeit: http://www.pasts.lv/lv/uzzinas/parbaudit-adresi/ Laukam "Māja" var būt gan māju nosaukumi, kurus būtu jāsakārto pēc alfabēta (var kaut vai ar sql). Bet tajā pat laikā laukam "Māja" var atnākt cipari jeb mājas nummuri nevis nosaukumi, kur būs jau 1, 2, 2A, 10 utt un te nu sql kārtošana neder, jo rezultātā iznāk masīvs ar 1, 10, 2, 2A (šeit der funkcija natsort, bet tad nederēs māju nosaukumiem). Un gan jau var sanak arī kad ir gan cipari, gan nosaukumi un tos jāsakārto korekti. Šeit tiešām vajag tādu universālāku gadījumu. Būtu lieliski, ja tai funkcijai natsort varētu iedot kodējumu, bet izskatās, ka to nevar izdarīt. Ceru tagad ir nedaudz skaidrāk, ko gribu panākt. Link to comment Share on other sites More sharing options...
Vilx- Decembris 6, 2013 Share Decembris 6, 2013 Es teiktu, ka vajadzēs izmantot usort, un pašam uzrakstīt funkciju, kas spēj korekti salīdzināt divus nosaukumus. Šis uzdevums nebūt nav no vienkāršajiem, vajadzēs padomāt. Link to comment Share on other sites More sharing options...
Jeasus Decembris 6, 2013 Share Decembris 6, 2013 ieliec ieejas datus un kādiem jābūt korektiem izejas datiem. Link to comment Share on other sites More sharing options...
Russo Decembris 7, 2013 Share Decembris 7, 2013 Nu.. VZD šo jautājumu risināja jau datubāzē izveidojot speciālu lauku [sort_nos] kurā tad sākotnēji (adreses izveides laikā) tiek uzģenerēts sortēšanas nosaukums. (0002A=2A; 0003/0005=3/5; Viesturi 0001=Viesturi 1; 0001 k-0001=1 k-1; utt.) Link to comment Share on other sites More sharing options...
DMG Decembris 8, 2013 Author Share Decembris 8, 2013 Russo paldies, tu devi man ideju, kā šo visu atrisināt. Atliek tikai pamēģināt, kas no tā sanāks Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!