php中文数组排序:非GBK编码的中文数组排序

PHP内置了很多排序函数,对于中文字符,可以当作字符串的方式排序,但是如果希望按照汉语拼音的顺序排列,则需要转换为GBK编码进行排序。由于GBK的中文本身即按照汉字拼音顺序编码,故可转换为GBK编码字符排序,然后再转换为utf8即可。如下为utf8编码中文数组排序示例:

/*
非GBK编码的中文数组排序
由于GBK的中文本身即按照汉字拼音顺序编码,故可转换为GBK编码字符排序,然后再转换为utf8即可
*/
function utf8_array_asort(&$array) {
	if(!isset($array) || !is_array($array)) 
	{
		return false;
	}
	foreach($array as $k=>$v) {
		$array[$k] = trim($v);
		$array[$k] = iconv('UTF-8', 'GBK//IGNORE',$v);
	}
	asort($array);
	foreach($array as $k=>$v) {
		$array[$k] = iconv('GBK', 'UTF-8//IGNORE', $v);
	}
	return true;
}
点赞 (0)
  1. 这个是可以安排的呀

发表评论

电子邮件地址不会被公开。 必填项已用*标注