php 文字输入输出

来源:互联网 发布:php 优惠券使用代码 编辑:程序博客网 时间:2024/06/05 16:49

  最近做了一道练习题,是这样的:在页面中输入如:1999年8月5日 需要输出一九九九年八月五日。

  分析这道题可知关键点在于怎么把中文分离出来。具体分析:输入可以用get获得,然后可以得到一个字符串$str,我们把它传到类方法中,进行解剖。

  代码如下:


<body><form action="" ><input type="text" name="id" /><input type="submit" value="确定" /><br/>输出:<?phpclass demo1{public function num($i){$arr=str_split($i);          //获得数组$arr 这里也可以不用数组直接用$i  for($j=0;$j<count($arr);$j++){if (ord($arr[$j]) >= 0x80) { //字节码大于127则是中文 直接echo打印echo $arr[$j].$arr[$j+1].$arr[$j+2];//我们直接打印$arr数组的话可以知道 在utf-8中一个中文占了三个位$j=$j+2;//所以我们这里直接下标+2}else{switch($arr[$j])//下面这里就是转换就简单很多了。{case '1': echo '一';break;case '2': echo '二';break;case '3': echo '三';break;case '4': echo '四';break;case '5': echo '五';break;case '6': echo '六';break;case '7': echo '七';break;case '8': echo '八';break;case '9': echo '九';break;case '0': echo '零';break;default : echo $arr[$j];break;}}}}}function _get($str){//当我第一次运行时我发现这里会提示我$_GET("id") 无定义值的提示if(!empty($_GET[$str])) //所以写了这个简易判断方法 用_get("id")代替 就不会提示了{$val=$_GET[$str];}//php还有个自带的功能就是你在语句前面加@页面也不会有提示语句else{$val=null;}return $val; } $n = new demo1();$n->num(_get("id"));?></form></body>


  效果如下:

  

0 0
原创粉丝点击