php的sort函數
『壹』 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
)
『貳』 PHP中sort()函數的參數SORT_LOCALE_STRING具體有什麼用
SORT_STRING - 把值作為字元串來處理
SORT_LOCALE_STRING - 把值作為字元串來處理,基於本地設置*。
基於本地的意思就是對於不同系統語言環境的情況下,比如法語字幕有聲調,往往在默認排序上會有些問題,也就是會出現和理論中不一致的結果,在這種情況下我們用
sort($array,SORT_LOCALE_STRING);
可以解決此類問題
『叄』 php數組排序,我代碼意思就是想將數組的數據按升序排列,我知道sort這函數可以做到,但我想自己設計一個.
給出個快速排序的代碼。
<?php
function qsort(&$a, $start, $end){
$left=$start; $right=$end;
if($end > $start){
$p=intval(($start + $end)/2);
while(($left <= $p) and ($right >= $p) )
{
while( ($a[$left] < $a[$p]) and ($left <= $p) ) $left++;
while( ($a[$right] > $a[$p]) and ($right >= $p) ) $right--;
$t=$a[$left]; $a[$left]=$a[$right]; $a[$right]=$t;
$left++; $right--;
if( ($left - 1)=== $p){ $right++; $p = $right; }
elseif(($right + 1) === $p){ $left--; $p = $left; }
}
qsort($a, $start, $p-1); qsort($a, $p+1, $end);
}
}
$a= array(20,40,30,70,50,1,9,4);
qsort($a,0, count($a)-1);
var_mp($a);
=======
array
0 => int 1
1 => int 4
2 => int 9
3 => int 20
4 => int 30
5 => int 40
6 => int 50
7 => int 70
=======
php的內置排序函數非常強大,也只適合用這些函數。
自己手寫的快速排序代碼,受到棧大小限制,不能排大數據。
而你原來的兩層for for冒泡排序,效率不高,基本不能拿來實際使用。
所以說,正道還是用那些內置的排序函數。
『肆』 php使用sort對數組元素排序
方括弧表示可選項。
如果一個參數當然就不要逗號了,如果兩個參數當然要加上逗號了,因此逗號與第二個參數應該同在或同不在。
『伍』 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通過sort()函數給數組排序的方法
本文實例講述了php通過sort()函數給數組排序的方法。分享給大家供大家參考。具體分析如下:
sort()函數用於給數組排序,本函數為數組中的單元賦予新的鍵名。原有的鍵名將被刪除。
如果成功則返回
TRUE,否則返回
FALSE。
$alpha
=
array
("x",
"a",
"f",
"c");
sort(
$alpha
);
foreach
(
$alpha
as
$var
)
{
print
"$var<br
/>";
}
範例2
<?php
$my_array
=
array("a"
=>
"Dog",
"b"
=>
"Cat",
"c"
=>
"Horse");
sort($my_array);
print_r($my_array);
?>
返回結果
Array
(
[0]
=>
Cat
[1]
=>
Dog
[2]
=>
Horse
)
希望本文所述對大家的php程序設計有所幫助。
『柒』 php 數組排序 sort是什麼排序
php的數組分為數字索引型的數組,和關鍵字索引的數組。
如果是數字索引的,可以這樣使用:
$names = ['Tom', 'Rocco','amiona'];
sort($names);
sort()函數只接收數組這個一個參數,默認排序方式是按照字母升序排列,因為是區分大小寫的,所以大寫字母在前,小寫字母在後。
以上排序的結果是:['Rocco', 'Tom', 'amiona']
如果還有不明白的歡迎追問!
『捌』 php sort()函數輸出後變1;
sort()不會返回排序的結果,因為它是「數組內排序」,會在原來的數組中修改:
sort($nums);
print_r($nums);//已經是排序好的數組了
sort()的返回值,只是表示成功和失敗的布爾值(true, false)。
望採納~
