|
php中有非常方便的對(duì)數(shù)組進(jìn)行重新排序的方法――asort,關(guān)于asort的使用方法可以看 這里 。但是asort對(duì)含有中文key的數(shù)組進(jìn)行排序時(shí),有時(shí)候并不是按照字母順序。這主要是編碼問(wèn)題,如果編碼為UTF-8,則不會(huì)按照字母順序來(lái)排,解決方法是先轉(zhuǎn)換成GBK編碼,排序完再轉(zhuǎn)回UTF-8.
示例:有一個(gè)數(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== ))
使用下面的代碼,將會(huì)把這個(gè)數(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);}
php技術(shù):PHP中使用asort進(jìn)行中文排序失效的問(wèn)題處理,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。