php中获取中文首字母程序代码

 代码如下 复制代码

<?php
$limit = array( //gb2312 拼音排序
    array(45217,45252), //A
    array(45253,45760), //B
    array(45761,46317), //C
    array(46318,46825), //D
    array(46826,47009), //E
    array(47010,47296), //F
    array(47297,47613), //G
    array(47614,48118), //H
    array(0,0),         //I
    array(48119,49061), //J
    array(49062,49323), //K
    array(49324,49895), //L
    array(49896,50370), //M
    array(50371,50613), //N
    array(50614,50621), //O
    array(50622,50905), //P
    array(50906,51386), //Q
    array(51387,51445), //R
    array(51446,52217), //S
    array(52218,52697), //T
    array(0,0),         //U
    array(0,0),         //V
    array(52698,52979), //W
    array(52980,53688), //X
    array(53689,54480), //Y
    array(54481,55289), //Z
);

$str="A:这是一个测试程序1";
$str= iconv("UTF-8","gb2312", $str);
echo $str."</br>";
$i=0;
while($i<strlen($str) ) {
    $tmp=bin2hex(substr($str,$i,1));
    if($tmp>='B0'){ //汉字的开始
        $t=getLetter(hexdec(bin2hex(substr($str,$i,2))));
        printf("%c",$t==-1 ? '*' : $t );
        $i+=2;
    }
    else{
        printf("%s",substr($str,$i,1));
        $i++;
    }
}

function getLetter($num){
    global $limit;
    $char_index=65;
    foreach($limit as $k=>$v){
        if($num>=$v[0] && $num<=$v[1]){
            $char_index+=$k;
            return $char_index;
        }
    }
    return -1;
}
?>

就是根据中文拼音来判断它的ascii码的编码来算出的哦。

时间: 2024-10-27 05:59:46

php中获取中文首字母程序代码的相关文章

PHP中UTF8中文字符截断程序代码

最简单的字符截取函数是用php自带的substr() 其实,PHP原生就有多charset下字符截取方案,额,所以就是这个样子...??. Multibyte String Functions函数族中, string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )  用来字符串截取 int mb_strlen ( string $str [, string $encoding ] )  返回

php中获取随机数组列表程序代码

贴一段代码,在php中获取随机数组 不用多说,直接贴代码,php中的array_rand很变态,突破了正常人的理解,繁琐 例1  代码如下 复制代码 function create_random_ids( $min,$max,$limited ) {     $_base_ids = range($min,$max);     $_temp_key = array_rand ($_base_ids,min(count($_base_ids),$limited+10));     //拼接    

PHP中获取文件扩展名程序代码

方法一,我自己最的一种获取扩展名方法  代码如下 复制代码 function extend_2($file_name) { $extend = pathinfo($file_name); $extend = strtolower($extend["extension"]); return $extend; } 方法二,利用explode函数与end函数组合操作  代码如下 复制代码 function get_extension($file) { return end(explode('

PHP中获取内存使用情况程序代码

cPHP内置函数memory_get_usage()能返回当前分配给PHP脚本的内存量,单位是字节(byte).在WEB实际开发中,这些函数非常有用,我们可以使用它来调试PHP代码性能. memory_get_usage()函数返回内存使用量,memory_get_peak_usage()函数返回内存使用峰值,getrusage()返回CUP使用情况.但有一点请注意,在这些函数需要在Linux上运行. 下面我们来看一个实例:    代码如下 复制代码 echo '开始内存:'.memory_ge

PHP中获取URL完整路径程序代码

举例 URL : http://www.111cn.net/Test/Test.php  代码如下 复制代码 $_SERVER['SERVER_NAME']:  www.111cn.net $_SERVER['SERVER_PORT'] : 80 $_SERVER['REQUEST_URI'] : /Test/Test.php 那我们把上面几句结合起来就可以实现了 URL完整路径为:  代码如下 复制代码 "http://".$_SERVER['SERVER_NAME'].$_SERV

PHP程序,中文首字母排序

问题描述 PHP程序,中文首字母排序 中文首字母排序 $arr = array( array( 'name' => '学习' 'size' => '1235' 'type' => 'jpe' 'time' => '1921-11-13' ) array( 'name' => '世界' 'size' => '153' 'type' => 'jpe' 'time' => '2005-11-13' ) array( 'name' => '编程' 'size'

php获取汉字首字母的函数_php实例

网上的方法有不少,都是一样的原理,按照需求,做了一下版本的class类文件,主要功能是:功能明确,易于修改维护和扩展: 英文的字串:不变返回(包括数字):中文字符串:返回拼音首字符: 中英混合串: 返回拼音首字符和英文.该算法采用了二分法查找,修复了之前字母Z读取成Y的错误.好东西要收藏,故在此留下印记,以供后人考证! 复制代码 代码如下: <?php  /*** Modified by http://iulog.com @ 2013-05-07* 修复二分法查找方法* 汉字拼音首字母工具类* 

Java实现按中文首字母排序的具体实例_java

要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数. Arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的sort()函数,重载了多种静态函数以适应不同情况下的需要. 以下,我们应用最后一个重载函数来实现"按中文首字母排序": 复制代码 代码如下: sort(T[] a, Comparator<? super T> c)   根据指定比较器产生的顺序对指定对象数组进行排序.  代码

smarty获取url参数传值程序代码

smarty获取url参数传值程序代码 <head> <meta http-equiv="content-type" content="text/html; charset=gb2312" /> <title>smarty获取url参数传值程序代码</title> </head> <body> <!--{$smarty.get.url}--> </body> </h