php數(shù)組中包含中文的排序方法
更新時(shí)間:2014年06月03日 09:25:17 作者:
這篇文章主要介紹了php數(shù)組中包含中文的排序方法,需要的朋友可以參考下
php數(shù)組中文排序,文件格式一般用utf8,直接用asort排序不行。若是gbk和gb2312可以。這跟編碼有關(guān)。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);
但是使用這個(gè)函數(shù)發(fā)現(xiàn),有些文字會(huì)出錯(cuò),可能是utf8編碼認(rèn)不出某些字導(dǎo)致的“非法字符”,據(jù)了解GBK字符集比較大,換成GBK,再加上IGNORE忽略掉不認(rèn)識的字符 ,改成下面這樣
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;
}
復(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;
}
您可能感興趣的文章:
- php無限極分類遞歸排序?qū)崿F(xiàn)方法
- php使用遞歸與迭代實(shí)現(xiàn)快速排序示例
- PHP遞歸實(shí)現(xiàn)快速排序的方法示例
- PHP 數(shù)組排序方法總結(jié) 推薦收藏
- PHP 多維數(shù)組的排序問題 根據(jù)二維數(shù)組中某個(gè)項(xiàng)排序
- array_multisort實(shí)現(xiàn)PHP多維數(shù)組排序示例講解
- php 數(shù)組操作(增加,刪除,查詢,排序)等函數(shù)說明
- php對二維數(shù)組按指定鍵值key排序示例代碼
- PHP 多維數(shù)組排序(usort,uasort)
- php根據(jù)某字段對多維數(shù)組進(jìn)行排序的方法
- php實(shí)現(xiàn)數(shù)組按指定KEY排序的方法
- PHP數(shù)組遞歸排序?qū)崿F(xiàn)方法示例
相關(guān)文章
apache php mysql開發(fā)環(huán)境安裝教程
這篇文章主要為大家詳細(xì)介紹了apache php mysql開發(fā)環(huán)境安裝教程,感興趣的小伙伴們可以參考一下2016-07-07CodeIgniter使用smtp服務(wù)發(fā)送html郵件的方法
這篇文章主要介紹了CodeIgniter使用smtp服務(wù)發(fā)送html郵件的方法,涉及CodeIgniter中email類的使用技巧,需要的朋友可以參考下2015-06-06php5 apache 2.2 webservice 創(chuàng)建與配置(java)
要運(yùn)行wsCaller.jar 要選安裝jdk 如果沒有安裝jdk 則wsCaller.jar 會(huì)以壓縮包的形式顯示2011-01-01Laravel中ServiceProvider使用場景示例詳解
這篇文章主要為大家介紹了Laravel中ServiceProvider使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Laravel框架實(shí)現(xiàn)的上傳圖片到七牛功能詳解
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)的上傳圖片到七牛功能,結(jié)合實(shí)例形式詳細(xì)分析了七牛擴(kuò)展包相關(guān)安裝、配置及操作Laravel上傳圖片到七牛的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09ubuntu12.04使用c編寫php擴(kuò)展模塊教程分享
php語言自帶了很多的擴(kuò)展模塊,諸如mbstring、gd、pdo等等。有時(shí)為了提高效率,需要用C實(shí)現(xiàn)其中的一些功能,就可以自行編寫php的擴(kuò)展模塊2013-12-12Laravel ORM對Model::find方法進(jìn)行緩存示例詳解
這篇文章主要給大家介紹了關(guān)于Laravel ORM對Model::find方法進(jìn)行緩存的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03