mam dość dziwny problem. Napisałem taką oto funkcję:
private function compareOutputs($userOutput, $output) { if ($userOutput == $output) return CODE_OK; return CODE_WRONG; }
jak widać jako parametry podaję dwie zmienne (tekstowe), które mają zostać porównane. Problem polega na tym, że coś mi umyka i gdy podam dwie wartości, które są takie same, to funkcja mi się myli. Tak wiem... brzmi to dziwnie... Wartość stałej CODE_WRONG to 5, natomiast CODE_OK to 0. Po wykonaniu tej funkcji wyświetlam dodatkowo wynik działania tej funkcji. Oto przykładowy wynik (kod html)
Jak widać i jedna i druga zmienna zawierają tekst "world" po czym jest jedna wolna linia. Dlaczego to nie przechodzi, kurne no... Przecież to podstawy są


EDIT:
w dodatku nie widzę tam żadnych białych znaków, które mogłyby się tam ukryć. Może to coś da, ale jedną wartość pobieram z bazy danych, natomiast druga to jest wynik działania jakiegoś programu zewnętrznego (tzn to co wyświetla). W bazie danych mam zapisany DOKŁADNIE taki tekst:
Cytat
world
natomiast program, który uruchamiam (napisany w c++) zawiera tylko taką instrukcję:
cout<<"world"<<endl;
Program wywołuję funkcją exec mniej więcej tak:
exec(Config::$Softlimit." -f 0 -t {$task['maxtime']} {$this->Program} < $inputFile", $output, $result);
Zmienna $output jest przekazywana jako 1 parametr, natomiast to co w bazie jako 2. Nie wiem co jeszcze mogę napisać...