pianoforte Skrevet 20. mars 2005 Del Skrevet 20. mars 2005 Holder på å lage et quiz-skript og når brukeren er ferdig ender han opp med en rekke tall for hvilke valg han har tatt, f eks: 13212 Jeg skal da sammeligne det med fasiten som er 12132 og si hvor mange riktige det ble. Hvordan kan jeg gjøre det? Lenke til kommentar
ilpostino Skrevet 20. mars 2005 Del Skrevet 20. mars 2005 du kunne bruke ltrim for å sjekke om alle svarene er riktige. (det raskeste er jo om du putter dette i en løkke). Lenke til kommentar
Loomy Skrevet 21. mars 2005 Del Skrevet 21. mars 2005 similar_text() er jo som skapt for dette Eksempel: <?php $riktigeSvar = "123456"; $svarFraBruker = "123999"; $poengsum = similar_text($riktiveSvar, $svarFraBruker); echo $poengsum; // skriver ut 3 ?> Lenke til kommentar
ilpostino Skrevet 21. mars 2005 Del Skrevet 21. mars 2005 similar_text() er jo som skapt for dette Eksempel: <?php $riktigeSvar = "123456"; $svarFraBruker = "123999"; $poengsum = similar_text($riktiveSvar, $svarFraBruker); echo $poengsum; // skriver ut 3 ?> men vil denne funksjonen ta hensyn til rekkefølgen på bokstavene (det vil si svarene) i stringen eller bare sammenligner den blindt hva som er likt? Lenke til kommentar
Gjest Slettet+6132 Skrevet 23. mars 2005 Del Skrevet 23. mars 2005 Skrev dette raskt, dette burde fungere fint. Men er kanskje ikke det beste måten å sjekke om to stringer er like på. <? $s_in = "1296431"; $s_rett = "1234567"; $s_inL = strlen($s_in); $s_rettL = strlen($s_rett); $rett = 0; if($s_inL == $s_rettL) { for($i=0;$i<$s_inL;$i++) $s_inA[$i] = substr($s_in, $i, 1); for($i=0;$i<$s_rettL;$i++) $s_rettA[$i] = substr($s_rett, $i, 1); for($u=0;$u<count($s_rettA);$u++) if($s_rettA[$u] == $s_inA[$u]) $rett += 1; $rett_pro = $rett/count($s_rettA) * 100; $rett_pro = round($rett_pro, 1); echo "Du fikk ".$rett_pro."% riktig."; } else { echo "[Feil:] Ulikt antall svar og spm :S"; } ?> Lenke til kommentar
Loomy Skrevet 23. mars 2005 Del Skrevet 23. mars 2005 similar_text() er jo som skapt for dette Eksempel: <?php $riktigeSvar = "123456"; $svarFraBruker = "123999"; $poengsum = similar_text($riktiveSvar, $svarFraBruker); echo $poengsum; // skriver ut 3 ?> men vil denne funksjonen ta hensyn til rekkefølgen på bokstavene (det vil si svarene) i stringen eller bare sammenligner den blindt hva som er likt? Den skal ta hensyn til rekkefølgen ja. Testet ColaKanne sitt script nå, og det fungerte også fint Lenke til kommentar
Gilbert Skrevet 23. mars 2005 Del Skrevet 23. mars 2005 By passing a reference as third argument, similar_text() will calculate the similarity in percent for you. It returns the number of matching chars in both strings. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå