当前位置:编程学习 > php >>

有谁给我解释这php代码,$strlen也没声明变量,还有就是0xa0是什么

<?php function chinesesubstr($str,$start,$len) { $strlen=$start+$len; for($i=0;$i<$strlen;$i++) { if(ord(substr($str,$i,1))>0xa0) { $tmpstr.=substr($str,$i,2); $i++; } else $tmpstr.=substr($str,$i,1); } return $tmpstr; } ?>
答案:这段代码是用来截取汉字字符串的,substr截取英文字符串没问题,截取汉字字符串的时候会出现乱码,这段代码就是解决这个问题的。 chinesesubstr($str,$start,$len),$str原字符串,$start子字符串第一个字符在原字符串种的位置,$len子字符串长度。
其他:php 的变量不需要显式的声明就可以用的,0X表示的是十六进制,十六进制是0-F来表示,你可以百度一下嘛, php变量不需要声明的,每个汉字是两个ascii字符组成,汉字的内码是起始正好是0xa1(十进制161) 

上一个:关于php双引号与单引号问题
下一个:PHP 网站要做一个每日推荐,就是每天推荐一个产品到首页,1天之后自动换,产品要从评分最高的产品依次倒叙

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,