Copy codeThe Code is as follows: <? Php
/**
* Interpreter example
*
* @ Create_date: 2010-01-04
*/
Class Expression
{
Function interpreter ($ str)
{
Return $ str;
}
}
Class ExpressionNum extends Expression
{
Function interpreter ($ str)
{
Switch ($ str)
{
Case "0": return "0 ";
Case "1": return "1 ";
Case "2": return "2 ";
Case "3": return "3 ";
Case "4": return "4 ";
Case "5": return "5 ";
Case "6": return "6 ";
Case "7": return "7 ";
Case "8": return "8 ";
Case "9": return "9 ";
}
}
}
Class ExpressionCharater extends Expression
{
Function interpreter ($ str)
{
Return strtoupper ($ str );
}
}
Class Interpreter
{
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 ");
?>