128) { //汉字"> 128) { //汉字">
117.info
人生若只如初见

php如何获取汉字首字母

在PHP中获取汉字的首字母可以通过以下方法实现:

function getFirstChar($str){
    $firstChar = '';
    $s = iconv("UTF-8", "gb2312", $str);
    if (preg_match("/^([A-Za-z])/", $str)) { //如果是英文字母直接返回
        return strtoupper($str[0]);
    }

    if (ord($str) > 128) { //汉字
        $asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
        if ($asc >= -20319 and $asc <= -20284) {
            $firstChar = 'A';
        }
        if ($asc >= -20283 and $asc <= -19776) {
            $firstChar = 'B';
        }
        if ($asc >= -19775 and $asc <= -19219) {
            $firstChar = 'C';
        }
        if ($asc >= -19218 and $asc <= -18711) {
            $firstChar = 'D';
        }
        if ($asc >= -18710 and $asc <= -18527) {
            $firstChar = 'E';
        }
        if ($asc >= -18526 and $asc <= -18240) {
            $firstChar = 'F';
        }
        if ($asc >= -18239 and $asc <= -17923) {
            $firstChar = 'G';
        }
        if ($asc >= -17922 and $asc <= -17418) {
            $firstChar = 'H';
        }
        if ($asc >= -17417 and $asc <= -16475) {
            $firstChar = 'J';
        }
        if ($asc >= -16474 and $asc <= -16213) {
            $firstChar = 'K';
        }
        if ($asc >= -16212 and $asc <= -15641) {
            $firstChar = 'L';
        }
        if ($asc >= -15640 and $asc <= -15166) {
            $firstChar = 'M';
        }
        if ($asc >= -15165 and $asc <= -14923) {
            $firstChar = 'N';
        }
        if ($asc >= -14922 and $asc <= -14915) {
            $firstChar = 'O';
        }
        if ($asc >= -14914 and $asc <= -14631) {
            $firstChar = 'P';
        }
        if ($asc >= -14630 and $asc <= -14150) {
            $firstChar = 'Q';
        }
        if ($asc >= -14149 and $asc <= -14091) {
            $firstChar = 'R';
        }
        if ($asc >= -14090 and $asc <= -13319) {
            $firstChar = 'S';
        }
        if ($asc >= -13318 and $asc <= -12839) {
            $firstChar = 'T';
        }
        if ($asc >= -12838 and $asc <= -12557) {
            $firstChar = 'W';
        }
        if ($asc >= -12556 and $asc <= -11848) {
            $firstChar = 'X';
        }
        if ($asc >= -11847 and $asc <= -11056) {
            $firstChar = 'Y';
        }
        if ($asc >= -11055 and $asc <= -10247) {
            $firstChar = 'Z';
        }
    } else {
        $firstChar = strtoupper($str[0]);
    }

    return $firstChar;
}

$str = '你好世界';
echo getFirstChar($str); //输出 N

以上代码可以根据汉字的unicode码来判断首字母,返回结果为汉字拼音首字母的大写字母。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe43eAzsIAQVWB1I.html

推荐文章

  • PHP content-type对性能的影响

    在 PHP 中设置 Content-Type 头可以影响性能,尤其是在处理大量数据或高流量的网站上。设置正确的 Content-Type 可以帮助浏览器正确解析页面内容,提高网站的加载...

  • PHP content-type设置的注意事项

    在设置PHP页面的Content-Type时,有几个注意事项需要注意: Content-Type必须在页面输出任何内容之前设置,否则会导致错误。
    Content-Type的设置必须在HTTP...

  • PHP content-type如何处理多种类型

    在PHP中,可以使用header()函数来设置HTTP响应头中的Content-Type字段,从而指定要返回的数据类型。可以根据需要设置不同的Content-Type值来处理多种类型的数据。...

  • PHP content-type在重定向中的作用

    在 PHP 中,content-type 是用来指定 HTTP 响应的内容类型的头部信息。在重定向中,content-type 通常用来告诉浏览器如何处理重定向的响应内容。如果不设置 cont...

  • php如何获取字符串第一个字符

    在PHP中,可以通过使用字符串索引获取字符串的第一个字符。例如:
    $str = "Hello World";
    $firstChar = $str[0];
    echo $firstChar; // 输出:H 另...

  • php如何去掉第一个字符

    要去掉PHP字符串中的第一个字符,可以使用substr()函数来截取字符串的子字符串,然后拼接起来。以下是一个示例代码:
    $str = "Hello World";
    $newStr ...

  • spring怎么整合mybatis源码

    整合Spring和MyBatis的源码可以分为以下几个步骤: 添加MyBatis和Spring的依赖:在项目的pom.xml文件中添加MyBatis和Spring的依赖,例如: org.mybatis mybatis ...

  • spring怎么整合mybatis原理

    Spring整合MyBatis的原理主要是通过Spring提供的MyBatis框架支持来实现的。Spring框架提供了一个MyBatis框架支持模块,该模块提供了一些MyBatis框架需要的配置和...