function execute($string)
{
$expression = null;
for ($i = 0; $i < strlen($string); $i++) {
$temp = $string[$i];
switch (true) {
case is_numeric($temp):
$expression = new ExpressionNum();
break;
default:
$expression = new ExpressionCharater();
}
echo $expression->interpreter($temp);
echo "<br>";
}
}
} } } class ExpressionCharater extends Expression { public function interpreter($str) { return strtoupper($str); } } class Interpreter { public function execute($string) { $expression = null; for ($i = 0; $i < strlen($string); $i++) { $temp = $string[$i]; switch (true) { case is_numeric($temp): $expression = new ExpressionNum(); break; default: $expression = new ExpressionCharater(); } echo $expression->interpreter($temp); } } } $obj = new Interpreter(); $obj->execute("12345abc");