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

PHP中使用asort進(jìn)行中文排序失效的問題處理

 更新時間:2014年08月18日 09:55:30   投稿:hebedich  
asort() 函數(shù)對數(shù)組進(jìn)行排序并保持索引關(guān)系。主要用于對那些單元順序很重要的結(jié)合數(shù)組進(jìn)行排序??蛇x的第二個參數(shù)包含了附加的排序標(biāo)識。如果成功則返回 TRUE,否則返回 FALSE。

PHP中有非常方便的對數(shù)組進(jìn)行重新排序的方法——asort,關(guān)于asort的使用方法可以看 這里 。但是asort對含有中文key的數(shù)組進(jìn)行排序時,有時候并不是按照字母順序。這主要是編碼問題,如果編碼為UTF-8,則不會按照字母順序來排,解決方法是先轉(zhuǎn)換成GBK編碼,排序完再轉(zhuǎn)回UTF-8.

示例:有一個數(shù)組$pass,結(jié)構(gòu)類似為

Array
(
 [0] => stdClass Object
  (
   [username] => 張三
   [password] => DQ9uqQW2+UudOsZpQMnyvGG9L+RHZB6LRzBVDvAEL9uOBNf2zTWUnykhZFjhbzCH+LrSslRx9eSqU/n3gSLSUA==
  )

 [1] => stdClass Object
  (
   [username] => 李四
   [password] => 2P/3j50ibk1BYmjHL+7/tt0d6LuOQMN9m8klXJCZbcajQtH5749jFTtH17WxiBZ9p425b4KIV/Xdv/7Bu4pJAQ==
  )

 [2] => stdClass Object
  (
   [username] => 王五
   [password] => caq8lq0l6uxJPRx+sCBsBFUojSF+ox98gwO6c/AquXQ/y/aj/l/ziEGsXRSV+olcK7iKOJJ4IZZvX8DMPWZRRA==
  )

 [3] => stdClass Object
  (
   [username] => 趙六
   [password] => taXp4jX0vO3VoFLyANfGrSjzy76WQQHMnzYAN9CyI20uKxLFMScXrFR3P525eImy0pG5zk8btBJoS/RyMxzJGQ==
  )

)

使用下面的代碼,將會把這個數(shù)組按照username的拼音排序。

foreach ($pass as $key) {
 $key->username = iconv('UTF-8', 'GBK', $key->username);
}
asort( $pass );
foreach ($pass as $key) {
 $key->username = iconv('GBK', 'UTF-8', $key->username);
}

相關(guān)文章

最新評論