色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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

php數(shù)組中文排序,文件格式一般用utf8,直接用asort排序不行。若是gbk和gb2312可以。這跟編碼有關。gbk和gb2312本身的編碼就是用拼音排序的。
復制代碼 代碼如下:
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;
}
使用例子:
復制代碼 代碼如下:
$abc = array('a'=>'猜', 'b'=>'我','c'=>'哦','d'=>'棍','e'=>'f','f'=>'爸','z'=>'州');
utf8_array_asort($abc);
print_r($abc);
但是使用這個函數(shù)發(fā)現(xiàn),有些文字會出錯,可能是utf8編碼認不出某些字導致的“非法字符”,據(jù)了解GBK字符集比較大,換成GBK,再加上IGNORE忽略掉不認識的字符 ,改成下面這樣
復制代碼 代碼如下:
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;
}

php技術(shù)php數(shù)組中包含中文的排序方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 巴塘县| 宝应县| 尼勒克县| 日土县| 萍乡市| 黄梅县| 佛坪县| 黄石市| 阿拉善右旗| 彭阳县| 石狮市| 云南省| 阜阳市| 阳信县| 门头沟区| 盐边县| 曲水县| 黄龙县| 萍乡市| 五大连池市| 富锦市| 湛江市| 诸城市| 京山县| 云安县| 象山县| 徐汇区| 澄江县| 中方县| 大悟县| 柏乡县| 宁乡县| 天祝| 紫金县| 巴东县| 铜鼓县| 南漳县| 上犹县| 茂名市| 余庆县| 家居|