Gå til innhold

Finne feil i tallrekke


Anbefalte innlegg

Hei

Sitter her med et script som tar imot en tallrekke fra et skjema via GET-metoden, for så å sjekke om den er identisk med en allerede gitt tallrekke. Det jeg er ute etter er å få scriptet til å finne nøyaktig hvor feilene befinner seg, og peke ut disse. Er ikke så erfaren med php, men dette er altså det jeg har:

 

<?php
$defaultNumber = 12345;
$number = $_GET['number'];
if ($number == $defaultNumber)	{
	echo "<h2>Tallrekken inneholder 0 feil!</h2>";
}
else echo "Tallrekken inneholder feil"

?>

Lenke til kommentar
Videoannonse
Annonse
Hei

Sitter her med et script som tar imot en tallrekke fra et skjema via GET-metoden, for så å sjekke om den er identisk med en allerede gitt tallrekke. Det jeg er ute etter er å få scriptet til å finne nøyaktig hvor feilene befinner seg, og peke ut disse. Er ikke så erfaren med php, men dette er altså det jeg har:

Nøyaktig kor feilen e?

<pre><?php
$org = '234264';
$in = 254;
function diff($a, $b) {
$bSplit = array_reverse(str_split(strval($b)));
$aSplit = array_reverse(str_split(strval($a)));
$bT = count($bSplit);
$aT = count($aSplit);
$missing = 0;
if ($bT > $aT) {
	$missing = $bT - $aT;
	$bSplit = array_slice($bSplit, 0, $aT);
	$longer = 'L'; // longer
} elseif ($bT < $aT) {
	$missing = $aT - $bT;
	$aSplit = array_slice($aSplit, 0, $bT);
	$longer = 'S'; //shorter
}
$res = implode('', array_map('strcmp', $bSplit, $aSplit));
// lesser, greater, match
$res = strtr($res, array('-1' => '<', '1' => '>', '0' => 'M'));
if ($missing) {
	// too short or too long
	$res .= str_repeat($longer, $missing);
}
return $res;
}
echo htmlentities(diff($org, $in));
?></pre>

Endret av OISNOT
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...