導航:首頁 > 編程語言 > php根據數組的某個值排序

php根據數組的某個值排序

發布時間:2023-03-09 05:40:12

A. php 怎麼根據數組中其中的一個值排序

sort() - 以升序對數組排序
rsort() - 以降序對數組排序
asort() - 根據值,以升序對關聯數組進行排序
ksort() - 根據鍵,以升序對關聯數組進行排序
arsort() - 根據值,以降序對關聯數組進行排序
krsort() - 根據鍵,以降序對關聯數組進行排序

B. php如何按數組鍵值排序

$arr=[
array(
'name'=>'小壞龍',
'age'=>28
),
array(
'name'=>'小壞龍2',
'age'=>14
),
array(
'name'=>'小壞龍3',
'age'=>59
),
array(
'name'=>'小壞龍4',
'age'=>23
),
array(
'name'=>'小壞龍5',
'age'=>23
),
array(
'name'=>'小壞龍6',
'age'=>21
),
];

array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);

其中 array_column(數組,數組中的某個鍵值) 從多維數組中取出某個鍵值的一列 返回一個一維數組;
array_multisort(數組(一維數組),排序方式(SOTR_ASC,SOTR_DESC),其他數組(可以是二維的)

C. php用系統函數將一個數組按另一個數組的值進行排序

rsort()定義和用法
rsort() 函數對數組的元素按照鍵值進行逆向排序。與 arsort() 的功能基本相同。

注釋:該函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。

如果成功則返回 TRUE,否則返回 FALSE。

可選的第二個參數包含另外的排序標志。

語法
rsort(array,sorttype)參數 描述
array 必需。輸入的數組。
sorttype 可選。規定如何排列數組的值。可能的值:

SORT_REGULAR - 默認。以它們原來的類型進行處理(不改變類型)。
SORT_NUMERIC - 把值作為數字來處理
SORT_STRING - 把值作為字元串來處理
SORT_LOCALE_STRING - 把值作為字元串來處理,基於本地設置*。

*:該值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系統的區域設置,可以用 setlocale() 來改變。自 PHP 6 起,必須用 i18n_loc_set_default() 函數。

例子
復制代碼 代碼如下:
<?php
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
rsort($my_array);
print_r($my_array);
?>

輸出:
Array
(
[0] => Horse
[1] => Dog
[2] => Cat
)

D. 關於php二維數組中按某個元素的值排序

你可以使用usort這個函數進行對$a['list']進行處理

usort($a['list'],function($a,$b){
if($a['app_down']==$b['app_down'])return0;
return$a['app_down']>$b['app_down']?1:-1;
//如果發現結果是升序,1和-1對換下位置,記不太清了
});

E. php二維數組中按某個元素的值排序

//提供一個方法
classlib_BaseUtils{
static$s_field;
static$s_sc;
/**
*php二維數組按鍵值排序
*@paramarray$a需要排序的數組
*@paramstring$sort排序的鍵值
*@paramstring$d默認ASC,帶上參後為DESC
*@returnboolean
*/
staticfunctionarray_sort(&$a,$sort,$d=''){
self::$s_field=$sort;
self::$s_sc=$d;
usort($a,array("lib_BaseUtils","array_sort_callback"));
return$a;
}
//排序回調方法請勿刪除
staticfunctionarray_sort_callback($a,$b){
$s_a=self::$s_sc?$b:$a;
$s_b=self::$s_sc?$a:$b;
$field=self::$s_field;
switch(true){
case(is_string($s_a[$field])&&is_string($s_b[$field])):
returnstrcmp($s_a[$field],$s_b[$field]);
break;
default:
if($s_a[$field]==$s_b[$field]){
return0;
}else{
return$s_a[$field]>$s_b[$field]?-1:1;
}
}
}
}

調用方法

lib_BaseUtils::array_sort($lists, 'app_down','desc');

F. PHP中怎麼根據二維數組中的子數組的某個元素進行排序

//先用array_column 多維數組按照縱向(列)取出
$date = array_column($arr, '0');
//上面得到的結果:array()
//再用array_multisort 結合array_column得到的結果對$arr進行排序
array_multisort($date,SORT_ASC,$arr);

閱讀全文

與php根據數組的某個值排序相關的資料

熱點內容
微信應用鎖加密 瀏覽:451
數字英雄對程序員的影響 瀏覽:761
程序員培訓學校排名 瀏覽:586
oppo手機如何解開微信的加密 瀏覽:37
學校論文答辯源碼 瀏覽:66
rp在單片機中 瀏覽:177
linux軟體運行命令 瀏覽:354
stcid加密程序 瀏覽:139
把解壓包子放到水裡 瀏覽:286
phpmongodb連接池 瀏覽:945
日本解壓捏泡泡紙 瀏覽:121
環保參比演算法 瀏覽:413
解壓中的刪掉是什麼意思 瀏覽:766
王牌競速什麼時候能停止維修伺服器 瀏覽:488
pdf閱讀器官方 瀏覽:88
程序員那麼愛心 瀏覽:305
字元a經過md5加密 瀏覽:420
綠色的小蝴蝶是個什麼app 瀏覽:18
python編程輸入數字輸出年月日英文 瀏覽:631
程序員槍手 瀏覽:748