> 백엔드 개발 > PHP 튜토리얼 > PHP 개발 팁(7) - 한자 병음의 첫 글자를 얻기 위한 코드 예제

PHP 개발 팁(7) - 한자 병음의 첫 글자를 얻기 위한 코드 예제

黄舟
풀어 주다: 2023-03-06 13:48:01
원래의
1658명이 탐색했습니다.

프로젝트 개발 과정에서 특정 데이터 세트를 중국어에 따라 정렬해야 하는 경우가 있습니다. 이를 위해서는 먼저 해당 한자의 첫 글자를 얻은 다음 이를 정렬하는 것이 이러한 문제를 해결하는 일반적인 방법입니다. 미래에는. 저자는 이런 문제에 직면한 적이 있는데, 당시 경험이 상대적으로 적기 때문에 이 문제를 해결하기 위해 여러 가지 방법을 찾아보았지만 그 중 어느 것도 완벽하게 해결하지 못했습니다. 결국 인터넷에서 이 문자열을 발견했습니다. 첫 번째 편지를 받고 촬영 중이에요.

코드는 다음과 같습니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

<?php 

   

/**

 * =======================================

 * Created by Zhihua_W.

 * Author: Zhihua_W

 * Date: 2016/12/6 0007

 * Time: 上午 8:46

 * Project: PHP开发小技巧

 * Power: 获取中文字符拼音首字母

 * =======================================

 */ 

   

/**

 * 获取中文字符拼音首字母

 * @param $str 中文字符

 * @return null|string

 */ 

function getFirstCharter($str

    if (empty($str)) { 

        return &#39;&#39;; 

    

    $fchar = ord($str{0}); 

    if ($fchar >= ord(&#39;A&#39;) && $fchar <= ord(&#39;z&#39;)) return strtoupper($str{0}); 

    $s1 = iconv(&#39;UTF-8&#39;, &#39;gb2312&#39;, $str); 

    $s2 = iconv(&#39;gb2312&#39;, &#39;UTF-8&#39;, $s1); 

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

    $asc = ord($s{0}) * 256 + ord($s{1}) - 65536; 

    if ($asc >= -20319 && $asc <= -20284) return &#39;A&#39;; 

    if ($asc >= -20283 && $asc <= -19776) return &#39;B&#39;; 

    if ($asc >= -19775 && $asc <= -19219) return &#39;C&#39;; 

    if ($asc >= -19218 && $asc <= -18711) return &#39;D&#39;; 

    if ($asc >= -18710 && $asc <= -18527) return &#39;E&#39;; 

    if ($asc >= -18526 && $asc <= -18240) return &#39;F&#39;; 

    if ($asc >= -18239 && $asc <= -17923) return &#39;G&#39;; 

    if ($asc >= -17922 && $asc <= -17418) return &#39;H&#39;; 

    if ($asc >= -17417 && $asc <= -16475) return &#39;J&#39;; 

    if ($asc >= -16474 && $asc <= -16213) return &#39;K&#39;; 

    if ($asc >= -16212 && $asc <= -15641) return &#39;L&#39;; 

    if ($asc >= -15640 && $asc <= -15166) return &#39;M&#39;; 

    if ($asc >= -15165 && $asc <= -14923) return &#39;N&#39;; 

    if ($asc >= -14922 && $asc <= -14915) return &#39;O&#39;; 

    if ($asc >= -14914 && $asc <= -14631) return &#39;P&#39;; 

    if ($asc >= -14630 && $asc <= -14150) return &#39;Q&#39;; 

    if ($asc >= -14149 && $asc <= -14091) return &#39;R&#39;; 

    if ($asc >= -14090 && $asc <= -13319) return &#39;S&#39;; 

    if ($asc >= -13318 && $asc <= -12839) return &#39;T&#39;; 

    if ($asc >= -12838 && $asc <= -12557) return &#39;W&#39;; 

    if ($asc >= -12556 && $asc <= -11848) return &#39;X&#39;; 

    if ($asc >= -11847 && $asc <= -11056) return &#39;Y&#39;; 

    if ($asc >= -11055 && $asc <= -10247) return &#39;Z&#39;; 

    return null; 

   

echo getFirstCharter(&#39;为&#39;); 

   

?>

로그인 후 복사

특정 결과에 대해 직접 테스트를 실행할 수 있습니다!


위 내용은 PHP 개발 팁(7) - 한자 병음의 첫 글자를 얻기 위한 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿