//简单数组排序的使用
$data
=
array
(5,8,1,7,2);
sort(
$data
);
//元素由小到大进行排序
print_r(
$data
);
//Array ( [0] => 1 [1] => 2 [2] => 5 [3] => 7 [4] => 8 )
rsort(
$data
);
//元素由大到小进行排序
print_r(
$data
);
//Array ( [0] => 8 [1] => 7 [2] => 5 [3] => 2 [4] => 1 )
//根据键名排序的例子
$data_2
=
array
(5=>
"five"
,8=>
"eight"
,1=>
"one"
,7=>
"seven"
,2=>
"two"
);
ksort(
$data_2
);
//对数组的下标进行由小到大排序
print_r(
$data_2
);
//Array ( [1] => one [2] => two [5] => five [7] => seven [8] => eight )
krsort(
$data_2
);
//对数组的下标进行由大到小排序
print_r(
$data_2
);
//Array ( [8] => eight [7] => seven [5] => five [2] => two [1] => one )
//根据元素的值对数组排序
$data_3
=
array
(
"1"
=>
"Linux"
,
"a"
=>
"Apache"
,
"m"
=>
"MySQL"
,
"l"
=>
"PHP"
);
//asort() arsort 与 sort() rsort()的区别在于 前者排序后保持原有的键名,后者不保持原有键名,且键名从0开始
asort(
$data_3
);
print_r(
$data_3
);
//Array ( [a] => Apache [1] => Linux [m] => MySQL [l] => PHP )
echo
'<br/>'
;
arsort(
$data_3
);
print_r(
$data_3
);
//Array ( [l] => PHP [m] => MySQL [1] => Linux [a] => Apache )
echo
'<br/>'
;
sort(
$data_3
);
print_r(
$data_3
);
//Array ( [0] => Apache [1] => Linux [2] => MySQL [3] => PHP )
echo
'<br/>'
;
rsort(
$data_3
);
print_r(
$data_3
);
//Array ( [0] => PHP [1] => MySQL [2] => Linux [3] => Apache )
//根据"自然数排序法"对数组排序(0-9短者优先)
$data_4
=
array
(
"file.txt"
,
"file11.txt"
,
"file2.txt"
,
"file22.txt"
);
sort(
$data_4
);
print_r(
$data_4
);
//Array ( [0] => file.txt [1] => file11.txt [2] => file2.txt [3] => file22.txt )
echo
'<br>'
;
natsort(
$data_4
);
print_r(
$data_4
);
//Array ( [0] => file.txt [2] => file2.txt [1] => file11.txt [3] => file22.txt )
echo
'<br>'
;
natcasesort(
$data_4
);
print_r(
$data_4
);
//Array ( [0] => file.txt [2] => file2.txt [1] => file11.txt [3] => file22.txt )
echo
'<br>'
;