ホームページ  >  記事  >  バックエンド開発  >  PHP中国語配列ソート方法の例

PHP中国語配列ソート方法の例

WBOY
WBOYオリジナル
2016-07-25 08:53:19845ブラウズ
  1. function utf8_array_asort(&$array) {
  2. if(!isset($array) || !is_array($array)) {
  3. return false;
  4. }
  5. foreach($array as $ k=>$v) {
  6. $array[$k] = iconv('UTF-8', 'GB2312',$v);
  7. }
  8. asort($array);
  9. foreach($array as $k= >$v) {
  10. $array[$k] = iconv('GB2312', 'UTF-8', $v);
  11. }
  12. return true;
  13. }
コードをコピー

呼び出し例:

  1. $abc = array('a'=>'推測', 'b'=>'私','c'=>'ああ','d'=>'スティック' ,'e'=>'f','f'=>'お父さん','z'=>'州');
  2. utf8_array_asort($abc);
  3. print_r($abc);
コピーコード

しかし、この機能を使用すると、一部の文字がutf8エンコーディングによって認識されないために「不正な文字」になる可能性があることがわかり、GBK文字セットが比較的大きいことがわかったので、変更しました。認識できない文字については、次のように変更します。

  1. private function utf8_array_asort(&$array) {
  2. if(!isset($array) || !is_array($array)) {
  3. return false;
  4. }
  5. foreach($array as $k=>$v) {
  6. $array[$k] = iconv('UTF-8', 'GBK//IGNORE',$v);
  7. }
  8. asort($array);
  9. foreach($ array as $k=>$v) {
  10. $array[$k] = iconv('GBK', 'UTF-8//IGNORE', $v);
  11. }
  12. return true;
  13. }
コピーコード


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。