欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php數(shù)組中包含中文的排序方法

 更新時(shí)間:2014年06月03日 09:25:17   作者:  
這篇文章主要介紹了php數(shù)組中包含中文的排序方法,需要的朋友可以參考下
php數(shù)組中文排序,文件格式一般用utf8,直接用asort排序不行。若是gbk和gb2312可以。這跟編碼有關(guān)。gbk和gb2312本身的編碼就是用拼音排序的。
復(fù)制代碼 代碼如下:

function utf8_array_asort(&$array) {
if(!isset($array) || !is_array($array)) {
  return false;
}
foreach($array as $k=>$v) {
  $array[$k] = iconv('UTF-8', 'GB2312',$v);
}
asort($array);
foreach($array as $k=>$v) {
  $array[$k] = iconv('GB2312', 'UTF-8', $v);
}
return true;
}

使用例子:
復(fù)制代碼 代碼如下:

$abc = array('a'=>'猜', 'b'=>'我','c'=>'哦','d'=>'棍','e'=>'f','f'=>'爸','z'=>'州');
utf8_array_asort($abc);
print_r($abc);

但是使用這個(gè)函數(shù)發(fā)現(xiàn),有些文字會(huì)出錯(cuò),可能是utf8編碼認(rèn)不出某些字導(dǎo)致的“非法字符”,據(jù)了解GBK字符集比較大,換成GBK,再加上IGNORE忽略掉不認(rèn)識的字符 ,改成下面這樣
復(fù)制代碼 代碼如下:

private function utf8_array_asort(&$array) {
  if(!isset($array) || !is_array($array)) {
   return false;
  }
  foreach($array as $k=>$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;
}

相關(guān)文章

最新評論