欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

arraymultisort php

在PHP中,有時(shí)候需要對(duì)數(shù)組進(jìn)行排序或者進(jìn)行多重排序,這時(shí)候就需要用到array_multisort()函數(shù)。該函數(shù)可以根據(jù)多個(gè)條件對(duì)數(shù)組進(jìn)行排序,可以使用數(shù)組的鍵和值來(lái)排序,也可以將多個(gè)數(shù)組合并成一個(gè)數(shù)組,并按多個(gè)條件對(duì)其進(jìn)行排序。下面通過(guò)一些示例來(lái)介紹array_multisort()函數(shù)的使用。

1. 根據(jù)多個(gè)鍵對(duì)數(shù)組進(jìn)行排序

$items = array(
array("id" =>1, "name" =>"John", "age" =>30),
array("id" =>2, "name" =>"Mike", "age" =>25),
array("id" =>3, "name" =>"Alex", "age" =>35),
array("id" =>4, "name" =>"Bob", "age" =>20)
);
//根據(jù)姓名和年齡對(duì)數(shù)組進(jìn)行排序
$name = array();
$age = array();
foreach ($items as $key =>$row) {
$name[$key] = $row["name"];
$age[$key] = $row["age"];
}
array_multisort($name, SORT_ASC, $age, SORT_DESC, $items);
//輸出排序后的數(shù)組
print_r($items);

上述代碼中,首先將“姓名”和“年齡”兩個(gè)鍵分別存儲(chǔ)到數(shù)組$name和$age中,然后使用array_multisort()函數(shù)對(duì)數(shù)組$items進(jìn)行排序,第一個(gè)參數(shù)為排序的鍵,第二個(gè)和第四個(gè)為排序方式,分別為升序(SORT_ASC)和降序(SORT_DESC)。

2. 根據(jù)值對(duì)多個(gè)數(shù)組進(jìn)行排序

$name = array("John", "Mike", "Alex", "Bob");
$age = array(30, 25, 35, 20);
$height = array(170, 180, 175, 165);
//根據(jù)年齡對(duì)數(shù)組進(jìn)行排序
array_multisort($age, SORT_DESC, $name, $height);
//輸出排序后的數(shù)組
print_r($name);
print_r($age);
print_r($height);

上述代碼中,將“姓名”、“年齡”、“身高”三個(gè)數(shù)組進(jìn)行了排序,其中以“年齡”為排序依據(jù)。可以看到,通過(guò)array_multisort()函數(shù)可以同時(shí)對(duì)多個(gè)數(shù)組進(jìn)行排序。

3. 根據(jù)鍵對(duì)關(guān)聯(lián)數(shù)組進(jìn)行排序

$array = array(
"John" =>30,
"Mike" =>25,
"Alex" =>35,
"Bob"  =>20
);
//根據(jù)鍵對(duì)數(shù)組進(jìn)行排序
ksort($array);
$values = array_values($array);
//根據(jù)值對(duì)數(shù)組進(jìn)行排序
array_multisort($values, SORT_DESC, $array);
//輸出排序后的數(shù)組
print_r($array);

上述代碼中,通過(guò)ksort()函數(shù)對(duì)數(shù)組按照鍵進(jìn)行排序,然后使用array_values()函數(shù)將數(shù)組值按照索引重新排序,最后使用array_multisort()函數(shù)對(duì)數(shù)組進(jìn)行排序。可以看到,通過(guò)array_multisort()函數(shù)可以不僅按照值,還可以按照鍵對(duì)關(guān)聯(lián)數(shù)組進(jìn)行排序。

總之,array_multisort()函數(shù)可以很方便地對(duì)數(shù)組進(jìn)行多重排序,而不僅僅是簡(jiǎn)單的按照鍵或者值進(jìn)行排序。如果需要在PHP中進(jìn)行多重排序的時(shí)候,不妨試試使用array_multisort()函數(shù)。