php版本的charCodeAt()函数
作者:matrix 被围观: 4,962 次 发布时间:2014-03-29 分类:兼容并蓄 零零星星 | 8 条评论 »
这是一个创建于 3077 天前的主题,其中的信息可能已经有所发展或是发生改变。
charCodeAt()函数方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
JavaScript里经常看到charCodeAt函数但有些时候需要转换为php,这下就哦豁了。php里没有这玩意~ 自己写又搞不来。
还好,网上有一大把的代码:
代码语言:javascript复制function get_bianma($str)//等同于js的charCodeAt()
{
$result = array();
for($i = 0, $l = mb_strlen($str, 'utf-8');$i < $l; $i)
{
$result[] = uniord(mb_substr($str, $i, 1, 'utf-8'));
}
return join(",", $result);
}
function uniord($str, $from_encoding = false)
{
$from_encoding = $from_encoding ? $from_encoding : 'UTF-8';
if (strlen($str) == 1)
return ord($str);
$str = mb_convert_encoding($str, 'UCS-4BE', $from_encoding);
$tmp = unpack('N', $str);
return $tmp[1];
}
说明:
get_bianma(substr(f, e, 1))等同于js代码f.charCodeAt( e)
表示获取f中的第 e个位置的字符的 Unicode 编码