PS: Was heißt eigentlich funktioniert nicht? Schau mal was eval() macht und welchen Rückgabewert die Funktion hat.
Das hier geht:
$a = 1; $b = "+"; $c = 2; $e = 3;
eval('$x = '.$a.$b.$c.';');
if ($x == $e) {
echo 'wahr';
} else{
echo 'falsch';
}