3種方法:1、用strtoupper()將字符串中的字符都轉(zhuǎn)化為大寫,語法“strtoupper($str)”;2、用mb_strtoupper()進行轉(zhuǎn)換,語法“mb_strtoupper($str,"UTF-8")”;3、用mb_convert_case()進行轉(zhuǎn)換,語法“mb_convert_case($str,MB_CASE_UPPER,"UTF-8");”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
PHP中將字符串小寫轉(zhuǎn)換為大寫的函數(shù)共有三個,分別是:
-
strtoupper
將字符串中的字符都轉(zhuǎn)化為大寫(PHP 4, PHP 5, PHP 7, PHP 8) -
mb_strtoupper
將字符串中的字符都轉(zhuǎn)化為大寫(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8) -
mb_convert_case
按照不同的模式對字符串進行轉(zhuǎn)換(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
下面詳細講解這三個函數(shù)及其用法。
1、strtoupper
strtoupper(string $string): string
這個函數(shù)是直接返回傳入字符串的大寫,比如:
<?php header('content-type:text/html;charset=utf-8'); echo strtoupper("Hello WORLD!"); ?>
則直接輸出:
當然,也可以用變量接收輸出值,比如:
<?php header('content-type:text/html;charset=utf-8'); $str="hello World!"; echo "原字符串:$str <br>"; echo "轉(zhuǎn)換后的:".strtoupper($str); ?>
2、mb_strtoupper
mb_strtoupper(string $str, string $encoding = mb_internal_encoding()): string
這個函數(shù)則多了字符編碼的參數(shù)encoding,如果省略或是 null,則使用內(nèi)部字符編碼。而要轉(zhuǎn)換為大寫的字符串為$str。
和上面的strtoupper() 不同的是,“字母”是通過Unicode字符屬性來確定的。因此這個函數(shù)不會受語言環(huán)境(locale)設(shè)置影響,能夠轉(zhuǎn)化任何具有“字母”屬性的字符,例如 a 變音符號(?)也可以的到轉(zhuǎn)換,而strtoupper()則不行。
舉例:
<?php $str = "Mary Had A Little Lamb and She LOVED It So"; $str = mb_strtoupper($str); echo $str; // 打印的是 MARY HAD A LITTLE LAMB AND SHE LOVED IT SO ?>
費拉丁文的情況下可以參考這個舉例:
<?php $str = "Τ?χιστη αλ?πηξ βαφ?? ψημ?νη γη, δρασκελ?ζει υπ?ρ νωθρο? κυν??"; $str = mb_strtoupper($str, 'UTF-8'); echo $str; // 打印的是 Τ?ΧΙΣΤΗ ΑΛ?ΠΗΞ ΒΑΦ?Σ ΨΗΜ?ΝΗ ΓΗ, ΔΡΑΣΚΕΛ?ΖΕΙ ΥΠ?Ρ ΝΩΘΡΟ? ΚΥΝ?Σ ?>
3、mb_convert_case
mb_convert_case(string $str, int $mode, string $encoding = mb_internal_encoding()): string
第三個函數(shù)是mb_convert_case,這個函數(shù)則比上面一個函數(shù)mb_strtoupper又多了一個mode參數(shù)。
mb_convert_case的轉(zhuǎn)換模式是由 mode 所決定,這個參數(shù)的值可以是以下三個中的一個。
-
MB_CASE_UPPER —— 轉(zhuǎn)換為大寫
-
MB_CASE_LOWER —— 轉(zhuǎn)換為小寫
-
MB_CASE_TITLE —— 單詞首字母轉(zhuǎn)換為大寫
舉例:
<?php $str = "mary had a Little lamb and she loved it so"; $str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8"); echo $str."<br>"; // 輸出 MARY HAD A LITTLE LAMB AND SHE LOVED IT SO $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); echo $str; // 輸出 Mary Had A Little Lamb And She Loved It So ?>
非拉丁文也是一樣的,示例如下:
<?php $str = "Τ?χιστη αλ?πηξ βαφ?? ψημ?νη γη, δρασκελ?ζει υπ?ρ νωθρο? κυν??"; $str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8"); echo $str; // 輸出 Τ?ΧΙΣΤΗ ΑΛ?ΠΗΞ ΒΑΦ?Σ ΨΗΜ?ΝΗ ΓΗ, ΔΡΑΣΚΕΛ?ΖΕΙ ΥΠ?Ρ ΝΩΘΡΟ? ΚΥΝ?Σ $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); echo $str; // 輸出 Τ?χιστη Αλ?πηξ Βαφ?σ Ψημ?νη Γη, Δρασκελ?ζει Υπ?ρ Νωθρο? Κυν?σ ?>
以上,就是PHP中將字符串中小寫字母轉(zhuǎn)換為大寫字母的三個方法,可以看出最簡單的是第一個方法,只需要傳入字符串即可,第二個則多了編碼的設(shè)置,最復雜當屬第三個,除了轉(zhuǎn)換為大寫意外還可以轉(zhuǎn)換為小寫以及首字母大寫。
推薦學習:《PHP視頻教程》