PHP獲取中文字元拼音首字母

2022-05-08 06:51:06 字數 2338 閱讀 2075

/*

* * @name php獲取中文字元拼音首字母

* @param $str

* @return null|string

*/public

function getfirstcharter($str

)

$fchar = ord($str);

if ($fchar >= ord('a') && $fchar

<= ord('z')) );

}$s1 = iconv('utf-8', 'gb2312', $str

);

$s2 = iconv('gb2312', 'utf-8', $s1

);

$s = $s2 == $str ? $s1 : $str

;

$asc = ord($s) * 256 + ord($s) - 65536;

if ($asc >= -20319 && $asc

<= -20284)

if ($asc >= -20283 && $asc

<= -19776)

if ($asc >= -19775 && $asc

<= -19219)

if ($asc >= -19218 && $asc

<= -18711)

if ($asc >= -18710 && $asc

<= -18527)

if ($asc >= -18526 && $asc

<= -18240)

if ($asc >= -18239 && $asc

<= -17923)

if ($asc >= -17922 && $asc

<= -17418)

if ($asc >= -17417 && $asc

<= -16475)

if ($asc >= -16474 && $asc

<= -16213)

if ($asc >= -16212 && $asc

<= -15641)

if ($asc >= -15640 && $asc

<= -15166)

if ($asc >= -15165 && $asc

<= -14923)

if ($asc >= -14922 && $asc

<= -14915)

if ($asc >= -14914 && $asc

<= -14631)

if ($asc >= -14630 && $asc

<= -14150)

if ($asc >= -14149 && $asc

<= -14091)

if ($asc >= -14090 && $asc

<= -13319)

if ($asc >= -13318 && $asc

<= -12839)

if ($asc >= -12838 && $asc

<= -12557)

if ($asc >= -12556 && $asc

<= -11848)

if ($asc >= -11847 && $asc

<= -11056)

if ($asc >= -11055 && $asc

<= -10247)

return '其他';

}

上面的過濾只能過濾到一部分,由於使用中文作為key的時候可能會有各種問題,於是我進行了再排序過濾。

/*

* * 格式化遊戲專區

* author lhc

* datetime 2017-06-04t15:48:59+0800

*/public

function formatgamecharter($gamedata

)

$keyarr =;

$gamezone =;

foreach ($gamedata

as$game

) else

}array_multisort($gamezone

);

$gamezone = array_values($gamezone

);

return

$gamezone

; }

也有一種辦法是先把26個字母跟其他先組合好乙個陣列,再遍歷插入陣列裡面,這樣做的不好的地方我覺得是如果某個字母下面的遊戲為空時,該字母下面空蕩蕩的不好看,當然還是要看實際需求,如果你覺得可以解決你的問題,也可以那樣做。

ORACLE獲取中文字串拼音首字母

oracle漢字轉拼音 獲得全拼 拼音首字母 拼音擷取等 效果如下 oracle 字符集 gbk 沒有問題 utf 8 需要修改一下 sql oracle漢字轉拼音 package 1.獲得全拼 www.2cto.com select gethzpy.gethzfullpy 漢字 from dual...

php 獲取姓名拼音首字母

url created by wangbinandi gmail.com at 2008 12 29 21 12 漢字拼音首字母工具類 注 英文的字串 不變返回 包括數字 eg abc123 abc123 中文字串 返回拼音首字元 eg.王小明 wxm 中英混合串 返回拼音首字元和英文 eg.我i我...

js 根據中文獲取拼音首字母

js部分 var pinyin param str 判斷中英文 returns 中文返回true,其他返回false function ischinese str param str 獲取拼音的字串 param split 拼音分隔符 param uppercase 是否轉為大寫 returns 結...