當前位置:首頁 » 編程語言 » php數組的排序

php數組的排序

發布時間: 2022-06-18 19:39:55

1. php數組排序有很多的方法,哪位可以詳細的分解一二嗎,如用函數和不用函數。

在php數組排序中我們通常會用到下列幾個函數。

sort() ------ 以升序對數組排序,是以元素值來排序的

rsort() ----- 以降序對數組排序,以元素值來排序。

asort() ----- 根據值,以升序對關聯數組進行排序

ksort() ----- 根據鍵,以升序對關聯數組進行排序

arsort() ---- 根據值,以降序對關聯數組進行排序

krsort() ---- 根據鍵,以降序對關聯數組進行排序
array_multisort()----對多個數組或多維數組進行排序
用sort函數來做下示例吧

<?php

$string=array("Yes","True","False");

sort($string);

print_r($string);

?>

運行結果為:Array ( [0] => False [1] => True [2] => Yes )
再來看一個array_multisort的例子了,
<?php

$att[] = array('name' => 'cat', 'number' => 2);

$att[] = array('name' => 'dog', 'number' => 1);

$att[] = array('name' => 'dgg', 'number' => 6);

$att[] = array('name' => 'monkey', 'number' => 2);

$att[] = array('name' => 'bear', 'number' => 6);

$att[] = array('name' => 'bee', 'number' => 7);

array_multisort($att,SORT_DESC,SORT_REGULAR);

print_r($att);

?>

輸出結果為:

Array (

[0] => Array ( [name] => monkey [number] => 2 )

[1] => Array ( [name] => dog [number] => 1 )

[2] => Array ( [name] => dgg [number] => 6 )

[3] => Array ( [name] => cat [number] => 2 )

[4] => Array ( [name] => bee [number] => 7 )

[5] => Array ( [name] => bear [number] => 6 )

)
不用數組的來個例子了。
<?php

$att[] = array('name' => 'cat', 'number' => 2);

$att[] = array('name' => 'dog', 'number' => 1);

$att[] = array('name' => 'dgg', 'number' => 6);

$att[] = array('name' => 'monkey', 'number' => 2);

$att[] = array('name' => 'bear', 'number' => 6);

$att[] = array('name' => 'bee', 'number' => 7);

for($i=0;$i<count($att);$i++){

foreach($att as $key=>$val){

if($att[$i]['number']>$val['number']){

$att[$key]=$att[$i];

$att[$i]=$val;

}

}

}

print_r($att);

?>

結果:

Array (

[0] => Array ( [name] => bee [number] => 7 )

[1] => Array ( [name] => bear [number] => 6 )

[2] => Array ( [name] => dgg [number] => 6 )

[3] => Array ( [name] => cat [number] => 2 )

[4] => Array ( [name] => monkey [number] => 2 )

[5] => Array ( [name] => dog [number] => 1 )

)
當然還有更多的方法,如插入排序,選擇排序,冒泡排序,快速排序等。這些網站有很多的,如這個網站上就有:http://www.weberlove.com/PHPjishu/phpjichu/2015/0429/289.html至於數組和字元串的話,主要有str_split()、explode(),preg_split()三個函數。當然還有別的方法,上面那個網我站有說到,你可以自己去找一找了。

2. PHP數組排序

php中數組自定義排序 使用 usort函數

PHP usort

$arr=array("哈哈-默默-122","吸收-伏牛山-7","啥的-都是-12");

usort($arr,function($v1,$v2){
//將兩個值切割
$va1=explode('-',$v1);
$va2=explode('-',$v2);
//取兩個值的最後一段數字
$num1=intval(array_pop($va1));
$num2=intval(array_pop($va2));

//返回比較結果
return$num2>$num1?1:($num2<$num1?-1:0);
});

var_export($arr);

你看下上面排序結果是否你要的,如果反了,把return中的1和-1換一換就可以了

3. 關於PHP數組排序方法

告訴你一個簡單方法:(我給你思路)
$arrays
=
array(
'123廂dgdsds','56dggrff','8955dgc','7gdffd'
);
你foreach
一下,比如:
foreach($arrays
as
$str){
$str
=
(int)$str;
//
這樣,就強制把字元串轉化成整數了,字母部分會被省略
}
然後,用php
自帶的數組排序函數,一下搞定。。。
----------------------
^_*
,謝謝哦。

4. PHP使用array_multisort對多個數組或多維數組進行排序

PHP中array_multisort可以用來一次對多個數組進行排序,或者根據某一維或多維對多維數組進行排序。
關聯(string)鍵名保持不變,但數字鍵名會被重新索引。
輸入數組被當成一個表的列並以行來排序——這類似於
SQL

ORDER
BY
子句的功能。第一個數組是要排序的主要數組。數組中的行(值)比較為相同的話就按照下一個輸入數組中相應值的大小來排序,依此類推。——這句話是理解此函數用法的關鍵。
第一個參數必須是一個數組。接下來的每個參數可以是數組或者是下面列出的排序標志。
排序順序標志:
■SORT_ASC
-
按照上升順序排序
■SORT_DESC
-
按照下降順序排序
排序類型標志:
■SORT_REGULAR
-
將項目按照通常方法比較
■SORT_NUMERIC
-
將項目按照數值比較
■SORT_STRING
-
將項目按照字元串比較
每個數組之後不能指定兩個同類的排序標志。每個數組後指定的排序標志僅對該數組有效
-
在此之前為默認值
SORT_ASC

SORT_REGULAR。
看看兩個實際例子:
1、一次對多個數組進行排序:
復制代碼
代碼如下:
$num1
=
array(3,
5,
4,
3);
$num2
=
array(27,
50,
44,
78);
array_multisort($num1,
SORT_ASC,
$num2,
SORT_DESC);

print_r($num1);
print_r($num2);
//result:
Array
(
[0]
=>
3
[1]
=>
3
[2]
=>
4
[3]
=>
5
)
Array
(
[0]
=>
78
[1]
=>
27
[2]
=>
44
[3]
=>
50
)
2、對多維數組(以二位數組為例)進行排序:
復制代碼
代碼如下:
$arr
=
array(

'0'
=>
array(

'num1'
=>
3,

'num2'
=>
27

),

'1'
=>
array(

'num1'
=>
5,

'num2'
=>
50

),

'2'
=>
array(

'num1'
=>
4,

'num2'
=>
44

),

'3'
=>
array(

'num1'
=>
3,

'num2'
=>
78

)
);
foreach
(
$arr
as
$key
=>
$row
){

$num1[$key]
=
$row
['num1'];

$num2[$key]
=
$row
['num2'];
}
array_multisort($num1,
SORT_ASC,
$num2,
SORT_DESC,
$arr);
print_r($arr);
//result:Array([0]=>Array([num1]=>3
[num2]=>78)
[1]=>Array([num1]=>3
[num2]=>27)
[2]=>Array([num1]=>4
[num2]=>44)
[3]=>Array([num1]=>5
[num2]=>50))
總結:
這里的重點就是,先把要排序的key存到一個一維數組中,然後就可以使用array_multisort()這個函數,將數組按照key進行排序了,當然,這里的排序你完全可以不適用array_multisort()這個函數,僅僅通過foreach遍歷也能達到這個效果,但是既然php開發者給我們提供了更好的辦法,我們就可以省去不必要的麻煩了。

5. 如何使用強大的PHP函數對數組進行排序

如果你已經使用了一段時間PHP的話,那麼,你應該已經對它的數組比較熟悉了——這種數據結構允許你在單個變數中存儲多個值,並且可以把它們作為一個集合進行操作。
經常,開發人員發現在PHP中使用這種數據結構對值或者數組元素進行排序非常有用。PHP提供了一些適合多種數組的排序函數,這些函數允許你在數組內部對元素進行排列,也允許用很多不同的方法對它們進行重新排序。在這篇文章中我們將討論該排序中最重要的幾個函數。
簡單排序
首先,讓我們來看看最簡單的情況:將一個數組元素從低到高進行簡單排序,這個函數既可以按數字大小排列也可以按字母順序排列。PHP的sort()函數實現了這個功能,如Listing A所示:
Listing A
<?php
 $data = array(5,8,1,7,2);
 sort($data);
 print_r($data);
 ?>
輸出結果如下所示:
Array ([0] => 1
[1] => 2
[2] => 5
[3] => 7
[4] => 8
)
也能使用rsort()函數進行排序,它的結果與前面所使用的sort()簡單排序結果相反。Rsort()函數對數組元素進行從高到低的倒排,同樣可以按數字大小排列也可以按字母順序排列。Listing B給我們展示了它的一個例子:
Listing B
<?php $data = array(5,8,1,7,2);rsort($data); print_r($data);
?>
它的輸出結果如下:
Array ([0] => 8
[1] => 7
[2] => 5
[3] => 2
[4] => 1
)
根據關鍵字排序
當我們使用數組的時候,經常根據關鍵字對數組重新排序,從高到低。Ksort()函數就是根據關鍵字進行排序的函數,同時,它在排序的過程中會保持關鍵字的相關性。Listing C就是一個例子:
Listing C
<?php $data = array("US" => "United States", "IN" => "India", "DE" => "Germany", "ES" => "Spain");ksort($data); print_r($data);
?>
它的輸出結果如下:
Array ([DE] => Germany
[ES] => Spain
[IN] => India
[US] => United States
)
Krsort()函數是根據關鍵字對數組進行倒排,Listing D就是這樣的例子:
Listing D
<?php $data = array("US" => "United States", "IN" => "India", "DE" => "Germany", "ES" => "Spain");krsort($data); print_r($data);
?>
它的輸出結果如下:
Array ([US] => United States
[IN] => India
[ES] => Spain
[DE] => Germany
)
根據值排序
如果你想使用值排序來取代關鍵字排序的話,PHP也能滿足你的要求。你只要使用asort()函數來代替先前提到的ksort()函數就可以了。如Listing E所示:
Listing E
<?php $data = array("US" => "United States", "IN" => "India", "DE" => "Germany", "ES" => "Spain");asort($data); print_r($data);
?>
下面就是它的輸出結果。請注意這個結果與上面使用ksort()函數所得到的結果的不同——在這兩種情況中,都是按字母順序進行排序的,但是它們是根據數組的不同欄位進行排序的。
同時,請注意關鍵字-值之間的聯系會始終保持;它只是關鍵字-值對排序後的一種方式,排序並不會改變它們的對應關系。
Array ([DE] => Germany
[IN] => India
[ES] => Spain
[US] => United States
)
現在,你肯定能猜到這種排序也可以進行倒排,它使用arsort()函數完成這個功能。Listing F就是一個例子:
Listing F
<?php $data = array("US" => "United States", "IN" => "India", "DE" => "Germany", "ES" => "Spain");arsort($data); print_r($data);
?>
下面是它的輸出結果,根據值按字母表順序進行倒排。將下面的結果與用krsort()函數進行倒排後生成的結果進行比較,就能很容易明白兩者的不同了。
Array ([US] => United States
[ES] => Spain
[IN] => India
[DE] => Germany
)
自然語言排序
PHP有一個非常獨特的排序方式,這種方式使用認知而不是使用計算規則。這種特性稱為自然語言排序,當創建模糊邏輯應用軟體的時候這種排序方式非常有用。下面大家可以來看看它的一個簡單例子,如Listing G所示:
Listing G
<?php $data = array("book-1", "book-10", "book-100", "book-5"); sort($data);print_r($data);
natsort($data); print_r($data);?>
它的輸出結果如下:
Array ([0] => book-1
[1] => book-10
[2] => book-100
[3] => book-5
)
Array
(
[0] => book-1
[3] => book-5
[1] => book-10
[2] => book-100
)
它們的不同已經很清楚了:第二個排序結果更直觀,更「人性化」,然而第一個則更符合演算法規則,更具「計算機」特點。
自然語言能進行倒排嗎?答案是肯定的!只要對natsort()的結果使用array_reverse()函數就可以了,Listing H就是一個簡單例子:
Listing H
<?php $data = array("book-1", "book-10", "book-100", "book-5");natsort($data); print_r(array_reverse($data));
?>
下面是它的輸出結果:
Array ([0] => book-100
[1] => book-10
[2] => book-5
[3] => book-1
)
根據用戶自定義的規則排序
PHP也能讓你定義自己的排序演算法,你可以通過創建你自己的比較函數,並把它傳遞給usort()函數。如果第一個參數比第二個參數「小」的話,比較函數必須返回一個比0小的數,如果第一參數比第二個參數「大」的話,比較函數應該返回一個比0大的數。
Listing I就是這樣的一個例子,在這個例子中根據它們的長度對數組元素進行排序,最短的項放在最前面:
Listing I
<?php $data = array("[email protected]", "[email protected]", "[email protected]", "[email protected]");usort($data, 'sortByLen');
print_r($data); function sortByLen($a, $b) {
if (strlen($a) == strlen($b)) {
return 0;
} else {
return (strlen($a) > strlen($b)) ? 1 : -1;
}
}
?>
這樣,就創建了我們自己的比較函數,這個函數使用strlen()函數比較每一個字元串的個數,然後分別返回1,0或-1.這個返回值是決定元素排列的基礎。下面是它的輸出結果:
Array ([0] => [email protected]
[1] => [email protected]
[2] => [email protected]
[3] => [email protected]
)
自然語言排序
PHP有一個非常獨特的排序方式,這種方式使用認知而不是使用計算規則。這種特性稱為自然語言排序,當創建模糊邏輯應用軟體的時候這種排序方式非常有用。下面大家可以來看看它的一個簡單例子,如Listing G所示:
Listing G
<?php $data = array("book-1", "book-10", "book-100", "book-5"); sort($data);print_r($data);
natsort($data); print_r($data);?>
它的輸出結果如下:
Array ([0] => book-1
[1] => book-10
[2] => book-100
[3] => book-5
)
Array
(
[0] => book-1
[3] => book-5
[1] => book-10
[2] => book-100
)
它們的不同已經很清楚了:第二個排序結果更直觀,更「人性化」,然而第一個則更符合演算法規則,更具「計算機」特點。
自然語言能進行倒排嗎?答案是肯定的!只要對natsort()的結果使用array_reverse()函數就可以了,Listing H就是一個簡單例子:
Listing H
<?php $data = array("book-1", "book-10", "book-100", "book-5");natsort($data); print_r(array_reverse($data));
?>
下面是它的輸出結果:
Array ([0] => book-100
[1] => book-10
[2] => book-5
[3] => book-1
)
根據用戶自定義的規則排序
PHP也能讓你定義自己的排序演算法,你可以通過創建你自己的比較函數,並把它傳遞給usort()函數。如果第一個參數比第二個參數「小」的話,比較函數必須返回一個比0小的數,如果第一參數比第二個參數「大」的話,比較函數應該返回一個比0大的數。
Listing I就是這樣的一個例子,在這個例子中根據它們的長度對數組元素進行排序,最短的項放在最前面:
Listing I
<?php $data = array("[email protected]", "[email protected]", "[email protected]", "[email protected]");usort($data, 'sortByLen');
print_r($data); function sortByLen($a, $b) {
if (strlen($a) == strlen($b)) {
return 0;
} else {
return (strlen($a) > strlen($b)) ? 1 : -1;
}
}
?>
這樣,就創建了我們自己的比較函數,這個函數使用strlen()函數比較每一個字元串的個數,然後分別返回1,0或-1.這個返回值是決定元素排列的基礎。下面是它的輸出結果:
Array ([0] => [email protected]
[1] => [email protected]
[2] => [email protected]
[3] => [email protected]
)
多維排序
最後,PHP也允許在多維數組上執行一些比較復雜的排序——例如,首先對一個嵌套數組使用一個普通的關鍵字進行排序,然後再根據另一個關鍵字進行排序。這與使用SQL的ORDER BY語句對多個欄位進行排序非常相似。為了能更好的明白它是如何工作的,請仔細看Listing J所舉的例子:
Listing J
<?php $data = array(array("id" => 1, "name" => "Boney M", "rating" => 3),
array("id" => 2, "name" => "Take That", "rating" => 1),
array("id" => 3, "name" => "The Killers", "rating" => 4),
array("id" => 4, "name" => "Lusain", "rating" => 3),
); foreach ($data as $key => $value) {
$name[$key] = $value['name'];
$rating[$key] = $value['rating'];
}
array_multisort($rating, $name, $data); print_r($data);?>
這里,我們在$data數組中模擬了一個行和列數組。然後,我使用array_multisort()函數對數據集合進行重排,首先是根據rating進行排序,然後,如果rating相等的話,再根據name排序。它的輸出結果如下:
Array ([0] => Array
(
[id] => 2
[name] => Take That
[rating] => 1
) [1] => Array
(
[id] => 1
[name] => Boney M
[rating] => 3
)
[2] => Array
(
[id] => 4
[name] => Lusain
[rating] => 3
)
[3] => Array
(
[id] => 3
[name] => The Killers
[rating] => 4
)
)
array_multisort()函數是PHP中最有用的函數之一,它有非常廣泛的應用范圍。另外,就如你在例子中所看到的,它能對多個不相關的數組進行排序,也可以使用其中的一個元素作為下次排序的基礎,還可以對資料庫結果集進行排序。
這些例子應該讓你對PHP中各種數組排序函數的使用有了初步的了解,也向你展示了一些隱藏在PHP數組處理工具包的內部功能。
最後,祝你能愉快的使用這些功能!

6. PHP 對數組排序

function sort3wei($array){
foreach($array as $key=>$val){
$val_array= array();
$sort_array = array();
foreach($val as $k=>$v){
$val_array[] = $v;
$sort_array[] = $v['orders'];

}

sort($sort_array);

foreach($sort_array as $k=>$v){
$array[$key][$k] = $val_array[$k];

}

}

}

7. php數組函數序列之sort() 對數組的元素值進行升序排序

sort()定義和用法
sort()
函數按升序對給定數組的值排序。
注釋:本函數為數組中的單元賦予新的鍵名。原有的鍵名將被刪除。
如果成功則返回
TRUE,否則返回
FALSE。
語法
sort(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");
sort($my_array);
print_r($my_array);
?>
輸出:
Array
(
0]
=>
Cat
[1]
=>
Dog
[2]
=>
Horse
)

8. PHP數組排序array_multisort函數詳細用法跟排序方法是怎樣的

一、先看最簡單的情況。有兩個數組:

$arr1 = array(1,9,5);
$arr2 = array(6,2,4);

array_multisort($arr1,$arr2);

print_r($arr1); // 得到的順序是1,5,9
print_r($arr2); // 得到的順序是6,4,2

我估計兩個數組的值自始至終都是對應著的:1對應6,9對應2,5對應4。

我們再加多一個數組看看會怎樣:

$arr1 = array(1,9,5);
$arr2 = array(6,2,4);
$arr3 = array(3,7,8);

array_multisort($arr1,$arr2,$arr3);

查看結果,1自始至終都對應6對應3,其它項也是如此。這種對應關系就是手冊中所謂的「排序時保留原有的鍵名關聯」。

另外也可以把每個數組想像成資料庫表的一列。而對應著的1,6,3為一數據行,9,2,7為另一數據行。。。

array_multisort會先按第一個數組(想像成列)排序,如果第一個數組(列)的值相同,則按第二個數組(列)排序。

具體可以用下面的程式來測試:

$arr1 = array(1,9,5,9);
$arr2 = array(6,2,4,1);
$arr3 = array(3,7,8,0);

array_multisort($arr1,$arr2,$arr3);

可以想像這里$arr3的結果是(3,8,0,7)。

二、接下來講解array_multisort的參數。這個函數的參數很靈活。最簡單的情況是如上面所示的以1個或n個數組作為參數,需要注意的是每個數組的項數要一樣,否則會warning導致排序失效。

像這樣array_multisort($arr1,$arr2,$arr3); 默認是所有數組都是升序排列,如果想對$arr2降序,並當作字元串去比較,就要寫成:

array_multisort($arr1, $arr2, SORT_DESC, SORT_STRING, $arr3);

每個array後面可以跟一個排序順序標志或一個排序類型標志,或者兩種標志同時出現。但是每種排序標志在每個數組後面只能出現一個。

詳細如下:

排序順序標志:

SORT_ASC - 按照上升順序排序(默認)

SORT_DESC - 按照下降順序排序

排序類型標志:

SORT_REGULAR - 將項目按照通常方法比較(默認)

SORT_NUMERIC - 將項目按照數值比較

SORT_STRING - 將項目按照字元串比較

三、最後是array_multisort有什麼實際作用。

我們通常有一些多維數組需要排序:

$guys = Array
(
[0] => Array
(
[name] => jake
[score] => 80
[grade] => A
)

[1] => Array
(
[name] => jin
[score] => 70
[grade] => A
)

[2] => Array
(
[name] => john
[score] => 80
[grade] => A
)

[3] => Array
(
[name] => ben
[score] => 20
[grade] => B
)

)
例如我們想按成績倒序排列,如果成績相同就按名字的升序排列。
這時我們就需要根據$guys的順序多弄兩個數組出來:
$scores = array(80,70,80,20);
$names = array('jake','jin','john','ben');
然後
array_multisort($scores, SORT_DESC, $names, $guys);就行了
還能不能更靈活一點呢,每次想排序都要另外弄些數組出來嗎?
其實在qeephp的helper_array類裡面已經封裝得很好,下面是它的兩個方法,需要的人自己修改一下就可以用了:
/**
* 根據指定的鍵對數組排序
*
* 用法:
* @code php
* $rows = array(
* array('id' => 1, 'value' => '1-1', 'parent' => 1),
* array('id' => 2, 'value' => '2-1', 'parent' => 1),
* array('id' => 3, 'value' => '3-1', 'parent' => 1),
* array('id' => 4, 'value' => '4-1', 'parent' => 2),
* array('id' => 5, 'value' => '5-1', 'parent' => 2),
* array('id' => 6, 'value' => '6-1', 'parent' => 3),
* );
*
* $rows = Helper_Array::sortByCol($rows, 'id', SORT_DESC);
* mp($rows);
* // 輸出結果為:
* // array(
* // array('id' => 6, 'value' => '6-1', 'parent' => 3),
* // array('id' => 5, 'value' => '5-1', 'parent' => 2),
* // array('id' => 4, 'value' => '4-1', 'parent' => 2),
* // array('id' => 3, 'value' => '3-1', 'parent' => 1),
* // array('id' => 2, 'value' => '2-1', 'parent' => 1),
* // array('id' => 1, 'value' => '1-1', 'parent' => 1),
* // )
* @endcode
*
* @param array $array 要排序的數組
* @param string $keyname 排序的鍵
* @param int $dir 排序方向
*
* @return array 排序後的數組
*/
static function sortByCol($array, $keyname, $dir = SORT_ASC)
{
return self::sortByMultiCols($array, array($keyname => $dir));
}
/**
* 將一個二維數組按照多個列進行排序,類似 SQL 語句中的 ORDER BY
*
* 用法:
* @code php
* $rows = Helper_Array::sortByMultiCols($rows, array(
* 'parent' => SORT_ASC,
* 'name' => SORT_DESC,
* ));
* @endcode
*
* @param array $rowset 要排序的數組
* @param array $args 排序的鍵
*
* @return array 排序後的數組
*/
static function sortByMultiCols($rowset, $args)
{
$sortArray = array();
$sortRule = '';
foreach ($args as $sortField => $sortDir)
{
foreach ($rowset as $offset => $row)
{
$sortArray[$sortField][$offset] = $row[$sortField];
}
$sortRule .= '$sortArray[\'' . $sortField . '\'], ' . $sortDir . ', ';
}
if (empty($sortArray) || empty($sortRule)) { return $rowset; }
eval('array_multisort(' . $sortRule . '$rowset);');
return $rowset;
}

9. php 數組排序 sort是什麼排序

php的數組分為數字索引型的數組,和關鍵字索引的數組。
如果是數字索引的,可以這樣使用:
$names = ['Tom', 'Rocco','amiona'];
sort($names);
sort()函數只接收數組這個一個參數,默認排序方式是按照字母升序排列,因為是區分大小寫的,所以大寫字母在前,小寫字母在後。
以上排序的結果是:['Rocco', 'Tom', 'amiona']

如果還有不明白的歡迎追問!

10. PHP數組排序之sort、asort與ksort用法實例

本文實例講解了PHP數組排序中sort、asort與ksort的用法,供大家參考借鑒之用。具體實例如下所示:
01
<?php
02
$arr
=
array('d'=>'sdf',
'r'=>'sdf',
'a'=>
'eee');
03
//sort($arr);
//
對數組的值進行重排,
刪除之前的鍵值,
變為索引數組
04
//asort($arr);
//
對數組按照值進行重排,並保持索引關系,索引數組和關聯數組均適用
05
ksort($arr);
//
對數組按照鍵值進行重排,並保持索引關系,索引數組和關聯數組均適用
06

07
//
對應逆序還有rsort
arsort
krsort
08
//
使用函數比較有usort
uksort
uasort
第二個參數為比較的函數
需要在第一個參數相等
小於
大於第二個參數時
返回
等於
小於
大於
0
的值
浮點數只會取整數部分
09

10
print_r($arr);
11
?>
本文實例中僅對ksort用法做了示範,感興趣的讀者可以再測試sort與asort的運行結果,以便加深印象,牢固掌握。希望本文實例對大家PHP程序設計有所幫助。

熱點內容
php查詢結果數組 發布:2025-02-06 12:31:05 瀏覽:714
怎樣把照片壓縮打包 發布:2025-02-06 12:15:19 瀏覽:496
如何編譯java文件 發布:2025-02-06 12:05:58 瀏覽:237
九九乘法編程 發布:2025-02-06 12:05:05 瀏覽:519
台式機忘記開機密碼怎麼辦 發布:2025-02-06 11:58:01 瀏覽:871
android刷新按鈕 發布:2025-02-06 11:57:17 瀏覽:586
存儲過程有輸入參數和輸出參數 發布:2025-02-06 11:55:32 瀏覽:99
成績評選演算法 發布:2025-02-06 11:42:51 瀏覽:997
資料庫測試數據 發布:2025-02-06 11:31:05 瀏覽:824
球頭軸編程 發布:2025-02-06 11:29:36 瀏覽:283