PHP中的char()函數(shù)是用來(lái)將ASCII碼轉(zhuǎn)換成對(duì)應(yīng)的字符。例如,ASCII碼值為97的字符是小寫字母a,我們可以使用char()函數(shù)將其轉(zhuǎn)換成字符形式。
echo chr(97); // 輸出結(jié)果為a
除了將ASCII碼轉(zhuǎn)換成字符外,char()函數(shù)還可以將Unicode編碼轉(zhuǎn)換成對(duì)應(yīng)的字符。例如,Unicode編碼值為230的字符是字母?,使用char()函數(shù)將其轉(zhuǎn)換成字符形式。
echo chr(230); // 輸出結(jié)果為?
需要注意的是,char()函數(shù)只能轉(zhuǎn)換與PHP編譯器相同的編碼格式。如果PHP編譯器的編碼格式與要轉(zhuǎn)換的編碼格式不一致,那么轉(zhuǎn)換結(jié)果就會(huì)出現(xiàn)錯(cuò)誤。因此,我們需要先確認(rèn)PHP編譯器的編碼格式,然后再使用char()函數(shù)進(jìn)行轉(zhuǎn)換。
除了使用char()函數(shù)將ASCII碼和Unicode編碼轉(zhuǎn)換成字符外,我們還可以使用ord()函數(shù)將字符轉(zhuǎn)換成ASCII碼值或Unicode編碼值。
echo ord('a'); // 輸出結(jié)果為97 echo ord('?'); // 輸出結(jié)果為230
需要注意的是,如果將UTF-8編碼的字符轉(zhuǎn)換成Unicode編碼值,ord()函數(shù)會(huì)返回該字符在UTF-8編碼中的第一個(gè)字節(jié)的值。例如,UTF-8編碼的字符?的第一個(gè)字節(jié)的值為195,第二個(gè)字節(jié)的值為164,所以當(dāng)使用ord()函數(shù)將其轉(zhuǎn)換成Unicode編碼值時(shí),返回的值為195而不是228。
總結(jié)來(lái)說(shuō),char()函數(shù)和ord()函數(shù)是PHP中常用的字符編碼轉(zhuǎn)換函數(shù)。在使用這兩個(gè)函數(shù)時(shí),需要注意PHP編譯器的編碼格式以避免轉(zhuǎn)換結(jié)果出現(xiàn)錯(cuò)誤。