你還在為如何使用php排序字母+數字的陣列而煩惱嗎?
今天有個小夥伴在群裡問:
如何將乙個key為字母+數字的陣列按公升序排序呢?
$test = [
'n1' => 22423,
'n10' => 22423,
'n2' => 'werwerw',
'n3' => 22423,
'n4' => 22423,
'n5' => 22423,
'n21' => 22423,
'n11' => 22423,
];
希望將它排序成這樣子:
$test = [
'n1' => 22423,
'n2' => 'werwerw',
'n3' => 22423,
'n4' => 22423,
'n5' => 22423,
'n10' => 22423,
'n11' => 22423,
'n21' => 22423,
]
$test = [
'n1' => 22423,
'n10' => 22423,
'n2' => 'werwerw',
'n3' => 22423,
'n4' => 22423,
'n5' => 22423,
'n21' => 22423,
'n11' => 22423,
];ksort($test, sort_natural);
var_dump($test);
得到的結果:
array (size=8)
'n1' => int 22423
'n2' => string 'werwerw' (length=7)
'n3' => int 22423
'n4' => int 22423
'n5' => int 22423
'n10' => int 22423
'n11' => int 22423
'n21' => int 22423
定義和用法
ksort()
函式對關聯陣列按照鍵名
進行公升序
排序。
語法
ksort(array,sortingtype);
引數
描述array
必需。規定要進行排序的陣列。
sortingtype
可選。規定如何排列陣列的元素/專案。可能的值:
0 = sort_regular -預設。把每一項按常規順序排列(standard ascii,不改變型別)。
1 = sort_numeric - 把每一項作為數字來處理。
2 = sort_string - 把每一項作為字串來處理。
3 = sort_locale_string - 把每一項作為字串來處理,基於當前區域設定(可通過 setlocale() 進行更改)。
4 = sort_natural - 把每一項作為字串來處理,使用類似 natsort() 的自然排序。
5 = sort_flag_case - 可以結合(按位或)sort_string 或 sort_natural 對字串進行排序,不區分大小寫。
說明ksort()
函式按照鍵名
對陣列排序,為陣列值保留
原來的鍵。
可選的第二個引數包含附加的排序標誌。
若成功,則返回 true,否則返回 false。
提示具體可看: 陣列函式
php 首字母排序,PHP陣列按首字母怎麼排序
php陣列按首字母排序的方法 一 問題 給定陣列要求實現按照其漢字首字母排序 pinyin array array name 梁朝偉 age 23 array name andy age 24 array name 黎明 age 19 array name 郭富城 age 20 二 解決方法 cre...
php如何獲得編碼 php如何設定編碼為gbk編碼
php如何設定編碼為gbk編碼,頁面,首頁,放在,語句 php如何設定編碼為gbk編碼 php設定編碼為gbk編碼的方法 首先開啟需要設定編碼的php頁面 然後在php頁面的首頁部分新增 語句為 header content type text html charset gb2312 最後儲存即可。...
PHP如何判斷變數為空?
php如何判斷變數為空?這看似很簡單的問題,其實不小心就很容易出錯!一般我們判斷變數為空常用的函式如下 empty var 檢查乙個變數是否為空。如果 var 是非空或非零的值,則empty 返回false。換句話說,0 0 null false array var var 以及沒有任何屬性的物件都...