Jump to content
php.lv forumi

Salīdzināšana


aika

Recommended Posts

Tev būs jāraksta pašam sava funkcija vecīt. Ja nemaldos, nekas tāds php nav iebūvēts.

 

Pie tam, nebūs vienkārši.

 

Pieņemsim, ka case nav svarīgs. Uztaisi abus stringus uz lowercase un tad salīdzini.

 

Bet salīdzināšana te būtu īpatnēja. Viss atkarīgs kā tieši vēlies salīdzināt - jābūt pavisam konkrētiem noteikumiem?

Edited by Web Developer
Link to comment
Share on other sites

nu es saprotu ka nav vienkārši.

tikko iedomājos ka varbūt var salīdzināt pa simbolam, pie atšķirības uztaisīt exception++ un turpināt salīdzināt. - ja exception > 1 - tad false

tad tikai kura funkcija te būtu pati ātrākā ? substr?

Link to comment
Share on other sites

Var izmantot, piemēram, Levenšteina attālumu: http://en.wikipedia.org/wiki/Levenshtein_distance

Tas no diviem stringiem izrēķina skaitli, cik šie stringi ir "līdzīgi". Precīzāk sakot - cik burtos nepieciešamas izmaiņas, lai no viena iegūtu otru.

Attiecīgi - izrēķini šo skaitli, un tad no tā izdomā, vai tev der, ka stringi ir līdzīgi vai nē.

 

Edit: haha - http://php.net/levenshtein

Nemaz nezināju, ka php ir gatava tāda iebūvēta funkcija, kas to dara.

Vēl izrādās eksistē http://php.lv/similar_text funkcija, kas arī dara ko līdzīgu, tikai tā ir lēnāka nekā levenshtein() fja.

Link to comment
Share on other sites

codez - un kāds variants paliek pāri?

Šķiet paliek pāri tikai tāds, ka es mācos to, ko man, kas ir aktuāls man personīgi un kam man ir laiks uz attiecīgo brīdi. Man vēl nav ne reizi bijusi vajadzība, kas pausta šajā tēmā, tātad, kur ir problēma?

 

P.S.

 

codez - man prieks īstenībā, ka spēji atlasīt šo izteicienu kopumu - tur pat var uztaisīt algoritmu. Vienīgais, ka tev return parametrs pietrūka! :D

Edited by Web Developer
Link to comment
Share on other sites

Var izmantot, piemēram, Levenšteina attālumu: http://en.wikipedia.org/wiki/Levenshtein_distance

Tas no diviem stringiem izrēķina skaitli, cik šie stringi ir "līdzīgi". Precīzāk sakot - cik burtos nepieciešamas izmaiņas, lai no viena iegūtu otru.

Attiecīgi - izrēķini šo skaitli, un tad no tā izdomā, vai tev der, ka stringi ir līdzīgi vai nē.

 

Edit: haha - http://php.net/levenshtein

Nemaz nezināju, ka php ir gatava tāda iebūvēta funkcija, kas to dara.

Vēl izrādās eksistē http://php.lv/similar_text funkcija, kas arī dara ko līdzīgu, tikai tā ir lēnāka nekā levenshtein() fja.

 

 

Paldies - tieši tas kas vajadzīgs!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...