ホームページ バックエンド開発 PHPチュートリアル PHPで中国語のピンインの最初の文字を取得する方法

PHPで中国語のピンインの最初の文字を取得する方法

Jun 20, 2016 pm 01:02 PM
amp gt if return

実際には、このような指示が、特定の順序ではなく、名前の最初の文字でソートされているのをよく見かけます。これはほとんどの中国人が使用する分類方法です。

では、PHP プログラムでどのように操作するのでしょうか?

PHP プログラムで中国語のピンインの最初の文字を取得する方法を共有しましょう。インターネット上にあるもののほとんどは問題があり、実際に著者が適用したものです。 。

1

<p>//php获取中文字符拼音首字母</p>function getFirstCharter($str){<br />  if(empty($str)){return '';}<br /> $fchar=ord($str{0});<br />    if($fchar&gt;=ord('A')&amp;&amp;$fchar&lt;=ord('z')) return strtoupper($str{0});<br />    $s1=iconv('UTF-8','gb2312',$str);<br />   $s2=iconv('gb2312','UTF-8',$s1);<br />    $s=$s2==$str?$s1:$str;<br />  $asc=ord($s{0})*256+ord($s{1})-65536;<br />   if($asc&gt;=-20319&amp;&amp;$asc&lt;=-20284) return 'A';<br />    if($asc&gt;=-20283&amp;&amp;$asc&lt;=-19776) return 'B';<br />    if($asc&gt;=-19775&amp;&amp;$asc&lt;=-19219) return 'C';<br />    if($asc&gt;=-19218&amp;&amp;$asc&lt;=-18711) return 'D';<br />    if($asc&gt;=-18710&amp;&amp;$asc&lt;=-18527) return 'E';<br />    if($asc&gt;=-18526&amp;&amp;$asc&lt;=-18240) return 'F';<br />    if($asc&gt;=-18239&amp;&amp;$asc&lt;=-17923) return 'G';<br />    if($asc&gt;=-17922&amp;&amp;$asc&lt;=-17418) return 'H';<br />    if($asc&gt;=-17417&amp;&amp;$asc&lt;=-16475) return 'J';<br />    if($asc&gt;=-16474&amp;&amp;$asc&lt;=-16213) return 'K';<br />    if($asc&gt;=-16212&amp;&amp;$asc&lt;=-15641) return 'L';<br />    if($asc&gt;=-15640&amp;&amp;$asc&lt;=-15166) return 'M';<br />    if($asc&gt;=-15165&amp;&amp;$asc&lt;=-14923) return 'N';<br />    if($asc&gt;=-14922&amp;&amp;$asc&lt;=-14915) return 'O';<br />    if($asc&gt;=-14914&amp;&amp;$asc&lt;=-14631) return 'P';<br />    if($asc&gt;=-14630&amp;&amp;$asc&lt;=-14150) return 'Q';<br />    if($asc&gt;=-14149&amp;&amp;$asc&lt;=-14091) return 'R';<br />    if($asc&gt;=-14090&amp;&amp;$asc&lt;=-13319) return 'S';<br />    if($asc&gt;=-13318&amp;&amp;$asc&lt;=-12839) return 'T';<br />    if($asc&gt;=-12838&amp;&amp;$asc&lt;=-12557) return 'W';<br />    if($asc&gt;=-12556&amp;&amp;$asc&lt;=-11848) return 'X';<br />    if($asc&gt;=-11847&amp;&amp;$asc&lt;=-11056) return 'Y';<br />    if($asc&gt;=-11055&amp;&amp;$asc&lt;=-10247) return 'Z';<br />    return null;<br /><p>}</p>

ログイン後にコピー

例:

1

echo getFirstCharter('程序员www.scutephp.com');//结果将输出:C

ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C言語のreturnの使い方を詳しく解説

C言語で複数の条件を判定するifの書き方 C言語で複数の条件を判定するifの書き方 Mar 25, 2024 pm 03:24 PM

C言語で複数の条件を判定するifの書き方

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

修正: Windows 11 で Snipping ツールが機能しない

Javaのreturn文とfinally文の実行順序は何ですか? Javaのreturn文とfinally文の実行順序は何ですか? Apr 25, 2023 pm 07:55 PM

Javaのreturn文とfinally文の実行順序は何ですか?

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

iPhoneでApp Storeに接続できないエラーを修正する方法

MySQL ストアド プロシージャでネストされた if ステートメントを使用する方法 MySQL ストアド プロシージャでネストされた if ステートメントを使用する方法 May 26, 2023 pm 12:07 PM

MySQL ストアド プロシージャでネストされた if ステートメントを使用する方法

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

See all articles