如何使用PHP排序key為字母 數字的陣列

2022-05-08 06:48:11 字數 1943 閱讀 5206

你還在為如何使用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 以及沒有任何屬性的物件都...