复制代码 代码如下:
/**
* 解释器 示例
*
* @create_date: 2010-01-04
*/
class Expression
{
functionterpreter($str)
{
返回$str;
}
}
class ExpressionNum extends Expression
{
函数解释器($str)
{
switch($str)
{
case "0 ":返回“零”;
情况“1”:返回“一”;
情况“2”:返回“二”;
情况“3”:返回“三”;
情况“4”:返回“四”;
情况“5”:返回“五”;
情况“6”:返回“六”;
情况“7”:返回“七”;
情况“8”:返回“八”;
情况“9”:返回“九”;
}
}
}
class ExpressionCharater 扩展 Expression
{
函数解释器($str)
{
return strtoupper($str);
}
}
类解释器
{
函数执行($string)
{
$表达式 = null;
for($i = 0;$i$temp = $string[$i];
switch(true)
{
case is_numeric($temp): $expression = new ExpressionNum();休息;
默认值:$expression = new ExpressionCharater();
}
echo $表达式->解释器($temp);
}
}
}
$obj = new Interpreter();
$obj->execute("12345abc");
?>