2016-05-31 20 views
5

Mi chiedo solo, cosa succede qui. Se io sto usando questo:similar_text che non dà il risultato previsto

var_dump(similar_text('abcd', 'abcdefg', $percent)); //output: int 4 

Quello è ok, abcd nel posto giusto, in modo da 4 è buon risultato. cambiamento

Let a e b all'inizio del primo variabl:

var_dump(similar_text('bacd', 'abcdefg', $percent)); //output: int 3 

ho excpected a 2 o 4 ma non 3. Qualcuno può spiegarmelo perché è così?

+0

La sua somiglianza in percentuale, non il numero di caratteri che ha trovato – Thamilan

+0

no, la percentuale sarà in '$ percent' variabile, cosa Non ho usato qui. – vaso123

+2

C'è qualche discussione a riguardo su questa domanda: http://stackoverflow.com/questions/14136349/how-does-similar-text-work. Per farla breve, probabilmente non sta facendo quello che pensi sia. – iainn

risposta

3

similar_text() utilizza un algoritmo che prende la prima lettera nella prima stringa che contiene la seconda stringa, conta quello e getta via i caratteri prima di quello dalla seconda stringa. Questo è il motivo per cui otteniamo risultati diversi.

iterazione per primo esempio

'abcd' vs 'abcdefg' - (1) // 'a' match with 'a' 
    'bcd' vs 'bcdefg' - (1) // 'b' match with 'b' 
    'cd' vs 'cdefg' - (1) // 'c' match with 'c' 
    'd' vs 'defg' - (1) // 'd' match with 'd' 
    ''  vs 'efg'  - (0) // no match 
    Result = 4 

iterazione per secondo esempio

'bacd' vs 'abcdefg' - (0) // b not match a 
    'bacd' vs 'bcdefg' - (1) // b match b 
    'acd' vs 'cdefg' - (0) // a not match c 
    'cd' vs 'cdefg' - (1) // c match c 
    'd' vs 'defg'  - (1) // d match d 
    ''  vs 'efg'  - (0) // not match with any elemennt 
    Result = 3 
+0

Ho intenzione di fare questo post, penso anche questo. –

+0

Penso che questo sia il motivo, cosa ne pensi? – Shin

+0

puoi spiegarmi per favore, perché ''cd' vs 'cdefg' - (0)' mentre nella prima iterazione è 1, e perché '' 'vs' efg ''è 1 nel secondo, e 0 nel primo? E perché "bacd" vs "abcdefg" - (1) "nel secondo? – vaso123

Problemi correlati