有谁给我解释这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天之后自动换,产品要从评分最高的产品依次倒叙