Quy lu t chung trong s p x p m ng, chúng u tiên s p s tr c, k n là các ký t
d"u, r#i m i n các ký t ch , s p
x p theo alphabetical
1- Khi ch s (index) là s :
Hàm sort () :
Ví d& :
$countries = array (“us”, “uk”, “ca”, “cr”, “de”); sort ($countries);
while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value <BR>"); } s hi n th ra nh sau : Element 0 equals ca Element 1 equals cr Element 2 equals de Element 3 equals uk Element 4 equals us
* Ghi Chú: s p x p giá tr) t ng theo alphabetical, ch s index b t u t 0.
2- Khi ch s (index) là chu i :
Ví d& :
$countries = array (“us”=>“United States”, “uk”=>“United Kingdom”, “ca”=>“Canada”, “cr”=>“Costa Rica”, “de”=>“Germany”);
asort ($countries);
while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value <BR>"); }
K t qu :
Element ca equals Canada Element cr equals Costa Rica Element de equals Germany
Element uk equals United Kingdom Element us equals United States
hàm asort () gi nguyên ch s chu!i, ch s p x p trên giá tr) chu!i c a ch s chu!i t ng ng.
Các hàm rsort () và arsort () cách th c s( d&ng gi ng nh hàm sort () và asort () nh ng s p x p theo h ng ng c l i v i tr t t tr c ó.
3- S p x p t ng d n theo ch s (index) :
Hàm ksort () :
Ví d& :
$countries = array (“e”=>“United States”, “d”=>“United Kingdom”, “c”=>“Canada”, “b”=>“Costa Rica”, “a”=>“Germany”);
ksort ($countries);
while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value <BR>"); }
K t qu :
Element a equals Germany Element b equals Costa Rica Element c equals Canada
Element d equals United Kingdom Element e equals United States
L u ý : không có hàm s p x p gi m d n theo ch s (index), mu n s p x p nh th ta s( d&ng hàm ksort (), r#i sau ó s( d&ng hàm arsort () t c m&c ích nêu trên.
4- Hàm s p x p theo quy nh tr c c a ng !i s d ng:
a) Ch liên quan n giá tr) t ng ng v i ch s (index) :
Hàm usort () : không gi l i ch s (index) c
Ví d& :
function by_length ($a, $b) { $l_a = strlen ($a);
$l_b = strlen ($b);
if ($l_a == $l_b) return 0; return ($l_a < $l_b) ? –1 : 1; }
$countries = array (“e”=>“United States”, “d”=>“United Kingdom”, “c”=>“Canada”, “b”=>“Costa Rica”, “a”=>“Germany”);
usort ($countries, by_length);
while (list ($key, $value) = each ($countries)) { echo ("Element $key equals $value <BR>"); }
K t qu :
Element 0 equals Canada Element 1 equals Germany Element 2 equals Costa Rica Element 3 equals United States Element 4 equals United Kingdom
Vi c s( d&ng hàm usort () trong s p x p cho phép ng i s( d&ng a vào quy )nh s p x p c a riêng h nh trong ví d& trên là v chi u dài c a câu: câu ng n % trên, câu dài % d i, nh ng hàm usort () không gi l i c ch s (index) nguyên th y nh lúc
ban u c a mãng, mu n gi nguyên ch s (index) nh lúc ban u ta hãy s( d&ng hàm uasort ().
b) Ch liên quan n vi c s p x p ch s (index) theo quy )nh tr c b%i ng i s( d&ng : ta s( d&ng hàm uksort () (cách s( d&ng thì t ng t nh hàm v a h c % trên) c) Hàm t o dãy s nguyên ng+u nhiên trong ph m vi t a -> b :
( i u ki n: a : integer, b : integer và a < b)
Ví d& : T o dãy s nguyên ng+u nhiên trong ph m t 1 n 10 $int = range (1, 10);
srand (time ()); suffle ($int);
while (list ( , $num) = each ($int)) { echo (“$num <BR>”); }
III – T ng k t:
Qua bài h c này, chúng ta tìm hi u k/ v các thành ph n c a m ng m t chi u, nhi u chi u và các hàm c b n v x( lý d li u. Hi u rõ c"u trúc m ng, s s p x p #ng b s giúp ích cho các b n r"t nhi u trong nh ng ng d&ng l n.
Bài 4: Hàm Và G i L i Hàm