php小寫轉大寫
❶ php 中文轉拼音首字母問題
原始代碼有些問題,我做了些更改,原地址github 的 chenall/chenall/blob/master/php/tools/ZH-cn_TO_pinyin.php
<?php
/*
中文漢字轉拼音首字母的PHP簡易實現方法.
要求:只能是GB2312碼表裡面中文字元
轉換得到字元串對應的拼音首字母大寫.
用法:
echozh2py::conv('Chinese中華人民共和國');//ChineseZHRMGHG
或
$py=newzh2py;
echo$py->conv('Chinese中華人民共和國');//ChineseZHRMGHG
*/
classzh2py
{
//根據漢字區位表
//我們可以看到從16-55區之間是按拼音字母排序的,所以我們只需要判斷某個漢字的區位碼就可以得知它的拼音首字母.
//區位表第一部份,按拼音字母排序的.
//16區-55區
/*
'A'=>0xB0A1,'B'=>0xB0C5,'C'=>0xB2C1,'D'=>0xB4EE,'E'=>0xB6EA,'F'=>0xB7A2,'G'=>0xB8C1,'H'=>0xB9FE,
'J'=>0xBBF7,'K'=>0xBFA6,'L'=>0xC0AC,'M'=>0xC2E8,'N'=>0xC4C3,'O'=>0xC5B6,'P'=>0xC5BE,'Q'=>0xC6DA,
'R'=>0xC8BB,'S'=>0xC8F6,'T'=>0xCBFA,'W'=>0xCDDA,'X'=>0xCEF4,'Y'=>0xD1B9,'Z'=>0xD4D1
*/
privatestatic$FirstTable=array(
0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,
0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1,0xD7FA
);
privatestatic$FirstLetter="ABCDEFGHJKLMNOPQRSTWXYZ";
//區位表第二部份,不規則的,下面的字母是每個區裡面對應字的拼音首字母.從網上查詢整理出來的,可能會有部份錯誤.
//56區-87區
privatestatic$SecondTable=array(
"JWRDZLSYMRYPYWWCCKZNKYYG",
"KBPHFFSSTYBGMXLPBYLLBHLX",
"DZBXGZNZCPWHWXHQKMWFBPBY",
"TNMAYDDKSSNGYCSGXLYZAYPN",
"QYRBCJTHZTQFRXQHXMQJCJLY",
"JZSRMEBWHJLBJSLYYSMDXLCL",
"QGSZYQYAXBKYSECJSZNSLYZH",
"GMMCLGWZSZXZJFZNMLZZTHCS",
"SPRCHNWJNLHLYYQYYWZPTCZG",
"ZJQSQQAGMNYXPFRKSSBJLYXY",
"CWKCCSBNHCPDYZNFCYYTYCKX",
"DMGBWHWLGSLLYSDLMLXPTHMJ",
"TPMHYXLCHLHLZYLXGSSSSTCL",
"HTZKZJECXJCJNMFBYCSFYWYB",
"XHPLQKZCZWALSBCZJXSYZGWK",
"LDDPMJEGXYHYLXHLQYQHKYCW",
"QTTJHHHJLJAXFGFJZSLCFDQZ",
"LPDJBYREGKLZYZHLYSZQLZNW",
"FCJXDYGJQJJPMGWGJJJPKQSB",
"YFYZDJCNMWESCYGLBTZZGMSS",
"JHFSSXZQHFZMZCZTQCXZXRTT",
"BKZFFXMKDMDSYYSZCMLJDSYN",
"XTBNPDKLEYCJNYCDYKZTDHQH",
"LPCQDHZYCBZSCZBZMSLJFLKR",
"XJYYZLWCXSZFGWYYDLYHCLJS",
"LZCSHLTOLJNMDDDLNGKATHQH",
"PTQWLMCRNFKKFSYYLQBMQAMM",
"ZRQTBDKYXZKHHGFLBCSMDLDG",
"HYMZQQYDFQJJLZZNZJCDGZYG",
"PQCJPFCZLCLZXZDMXMPHJSGZ",
"GSHJQLZFKCGNNNSZFDEQFHBS",
"MQASLDCYXYQDLQCAFYWYXQHZ",
);
publicstaticfunctionutf8_to_gbk($string)//編碼轉換,必須轉換成GB2312字元,這里只是簡單的判斷並不是很准確,可以自己寫一個.
{
if(mb_check_encoding($string,'gb2312'))
return$string;
if(function_exists('iconv'))
returniconv("utf-8","gb2312//IGNORE",$string);
returnmb_convert_encoding($string,'gb2312','utf-8');
}
publicstaticfunctionconv($str)
{
$str=self::utf8_to_gbk($str);
$len=strlen($str);
$newStr='';
for($i=0;$i<$len;++$i)
{
$H=ord($str[$i]);
$L=ord($str[$i+1]);
//字元集非法
if($H<0xB0||$L<0xA1||$H>0xF7||$L==0xFF)
{
$newStr.=$str[$i];
continue;
}
if($H<0xD8)//($H>=0xB0&&$H<=0xD7)//查詢文字在一級漢字區(16-55)
{
$W=($H<<8)|$L;
foreach(self::$FirstTableas$key=>$value)
{
if($W<$value)
{
$newStr.=self::$FirstLetter[$key];
break;
}
}
}
else//if(H>=0xD8&&H<=0xF7)//查詢中文在二級漢字區(56-87)
$newStr.=self::$SecondTable[$H-0xD8][$L-0xA1];
++$i;
}
return$newStr;
}
}
echozh2py::conv('妃');//F
❷ PHP中怎樣將字元串每個單詞的首字元轉換成大寫
php中可以通過ucfirst函數將一個字元串中的第一個字母轉換成大寫,而ucwords函數可以將一個字元串中每個單詞的首字母轉換成大寫
<?php
$string=".";
$sentence=ucfirst($string);
$title=ucwords($string);
print("$sentence ");
print("$title ");
print(" ");
?>
輸出結果如下:
.
❸ 怎麼轉換php字母大小寫
php自帶函數,可以實現字母大小寫的轉換:
1. 所有字母變大寫:strtoupper( )2. 所有字母變小寫:strtolower( )
<?php
$str='abc';
$new_str=strtolower($str);
mp($new_str);
//結果是:string(3)"abc"
$new_str2=strtoupper($new_str);
mp($new_str2);
//結果是:string(3)"ABC"
?>
3. 字母大小寫轉換還有其它的:
每個單詞的首字母轉換為大寫:ucwords( )
第一個單詞首字母變大寫:ucfirst( )
第一個單詞首字母變小寫:lcfirst( )
❹ php mysql 如何將中文轉換拼音、小寫轉大寫;並排序
首先 在網上 找找函數 把中文轉換成拼音的
例如 to_pinyin();
然後
$data_sort = array();
foreach($data as $row){
$data[to_pinyin($row)] = $row;
}
最後 用 鍵值排序 就可以了
❺ 求一個 php 數字小寫轉為大寫的函數(在線等,謝謝)
PHP把阿拉伯數字轉換成中文,需要定義一個轉換的演算法:
演算法實例:
<?php
/將數字轉換為漢字,比如1210轉換為一千二百一十
$num="842105580";//九位數
functiondel0($num)//去掉數欄位前面的0
{
return"".intval($num);
}
functionn2c($x)//單個數字變漢字
{
$arr_n=array("零","一","二","三","四","五","六","七","八","九","十");
return$arr_n[$x];
}
functionnum_r($abcd)//讀取數值(4位)
{
$arr=array();
$str="";//讀取後的漢字數值
$flag=0;//該位是否為零
$flag_end=1;//是否以「零」結尾
$size_r=strlen($abcd);
for($i=0;$i<$size_r;$i++)
{
$arr[$i]=$abcd{$i};
}
$arrlen=count($arr);
for($j=0;$j<$arrlen;$j++)
{
$ch=n2c($arr[$arrlen-1-$j]);//從後向前轉漢字
echo$ch;
echo"";
if($ch=="零"&&$flag==0){//如果是第一個零
$flag=1;//該位為零
$str=$ch.$str;//加入漢字數值字元串
continue;
}elseif($ch=="零"){//如果不是第一個零了
continue;
}
$flag=0;//該位不是零
switch($j){
case0:$str=$ch;$flag_end=0;break;//第一位(末尾),沒有以「零」結尾
case1:$str=$ch."十".$str;break;//第二位
case2:$str=$ch."百".$str;break;//第三位
case3:$str=$ch."千".$str;break;//第四位
}
}
if($flag_end==1)//如果以「零」結尾
{
mb_internal_encoding("UTF-8");
$str=mb_substr($str,0,mb_strlen($str)-1);//把「零」去掉
}
return$str;
}
functionnum2ch($num)//整體讀取轉換
{
$num_real=del0($num);//去掉前面的「0」
$numlen=strlen($num_real);
echo"numlen=".$numlen."";
if($numlen>=9)//如果滿九位,讀取「億」位
{
$y=substr($num_real,-9,1);
//echo$y;
$wsbq=substr($num_real,-8,4);
$gsbq=substr($num_real,-4);
$a=num_r(del0($gsbq));
$b=num_r(del0($wsbq))."萬";
$c=num_r(del0($y))."億";
}elseif($numlen<=8&&$numlen>=5)//如果大於等於「萬」
{
$wsbq=substr($num_real,0,$numlen-4);
$gsbq=substr($num_real,-4);
$a=num_r(del0($gsbq));
$b=num_r(del0($wsbq))."萬";
$c="";
}elseif($numlen<=4)//如果小於等於「千」
{
$gsbq=substr($num_real,-$numlen);
$a=num_r(del0($gsbq));
$b="";
$c="";
}
$ch_num=$c.$b.$a;
return$ch_num;
}
echo$num."";//數字
echonum2ch($num);//漢字
echo"";
echonum2ch("1240");
?>
❻ php中把字元串首字母轉大寫方法
strtoupper
(PHP 4, PHP 5, PHP 7)
strtoupper — 將字元串轉化為大寫
說明
strtoupper ( string $string ) : string
將 string 中所有的字母字元轉換為大寫並返回。
注意 「字母」 與當前所在區域有關。例如,在默認的 「C」 區域,字元 umlaut-a(ä)就不會被轉換。
參數
string
輸入字元串。
返回值
返回轉換後的大寫字元串。
範例
Example #1 strtoupper() 範例
注釋
Note: 此函數可安全用於二進制對象。
參見
strtolower() - 將字元串轉化為小寫
ucfirst() - 將字元串的首字母轉換為大寫
ucwords() - 將字元串中每個單詞的首字母轉換為大寫
mb_strtoupper() - 使字元串大寫
❼ PHP中怎樣將字元串每個單詞的首字元轉換成大寫
【答案】:ucwords(): 該函數將傳入的字元串的每個單詞的首字元變成大寫.如"hello world",經過該函數處理後,將返回"Hello Word".用法同strtolowe()一樣.