html调用chr,PHP: 使用chr打印汉字
使用chr($i)可以順利的打印出ASCII,但是,當$i>=19968(漢字的Unicode的起始值4E00的十進制)后,發現沒法打印出漢字。
如:
雖然有其他方法,如:
//代碼2
$character = html_entity_decode('一', ENT_QUOTES, 'UTF-8');
但為什么代碼1沒法打印出漢字?
回復內容:
使用chr($i)可以順利的打印出ASCII,但是,當$i>=19968(漢字的Unicode的起始值4E00的十進制)后,發現沒法打印出漢字。
如:
雖然有其他方法,如:
//代碼2
$character = html_entity_decode('一', ENT_QUOTES, 'UTF-8');
但為什么代碼1沒法打印出漢字?
ASCII根本就不包含漢字,
包含漢字的是GB2312-80,GBK,Big5,unicode
漢字是多字節,你用ord就會發現,只會返還漢字的首字節。
其實chr函數的源代碼就在 /ext/standard/string.c
代碼如下
PHP_FUNCTION(chr)
{
long c;
char temp[2];
if (ZEND_NUM_ARGS() != 1) {
WRONG_PARAM_COUNT;
}
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "l", &c) == FAILURE) {
c = 0;
}
temp[0] = (char)c;
temp[1] = '\0';
RETURN_STRINGL(temp, 1, 1);
}
可以看到的是,就是C語言的字符強制轉換。
聲明:本文原創發布php中文網,轉載請注明出處,感謝您的尊重!如有疑問,請聯系admin@php.cn處理
相關標簽:php
總結
以上是生活随笔為你收集整理的html调用chr,PHP: 使用chr打印汉字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html背景幻灯片图片,CSS3全屏背景
- 下一篇: php什么版本好玩_新区传奇世界手游10