echesultD ?> Cho chạ Quote: $resultA $resultB $resultD $resultA Vậy là đ Ngoài 2 nhau tuy 1.. Giả sử n nhiên kết àm việc như trnatcasecm xử lý số đặ với strncas hữ thường, là kí tự HO là
Trang 1Xâu - Các phép toán thường gặp (tiếp)
Các hàm làm việc với xâu (string)
So sánh 2 xâu
Để so sánh 2 xâu với nhau, ta sử dụng strcmp và strncmp
PHP Code:
strcmp($xâu_1, $xâu_2);
strncmp($xâu_1, $xâu_2, $n);
Hàm strcmp sẽ chuyển từng kí tự trong 2 xâu về dạng mã byte của mỗi kí tự để so sánh,
nó sẽ trả về 1 trong 3 giá trị:
1 (-1) nếu $xâu_1 "bé hơn" $xâu_2
2 0 nếu 2 xâu "bằng nhau"
3 1 nếu $xâu_1 "lớn hơn" $xâu_2
Hàm strncmp cũng hoạt động tương tự, nhưng nó sẽ không kiểm tra hết cả 2 xâu mà chỉ
kiểm tra $n kí tự đầu tiên mà thôi
Để dễ hiểu hơn, ta có ví dụ sau đây:
PHP Code:
<?php
$strA = 'Update softs';
$strB = 'update softs';
$strC = 'tpdate softs';
$strD = '';
$strE = '';
$strF = 'Update life';
//So sánh A và B: mã của "U" < mã của "u" ~> đự doán là $resultAB = -1
$resultAB = strcmp($strA, $strB);
//So sánh B và C: mã của "u" > mã của "t" ~> dự đoán là $resultBC = 1
$resultBC = strcmp($strB, $strC);
//So sánh D và E: 2 thằng cùng không có gì ~> dự đoán là $resultDE = 0
$resultDE = strcmp($strD, $strE);
//So sánh A và F (6 kí tự đầu tiên): 6 kí tự đầu tiên giống nhau ~> dự đoán là $res ultAF = 0
$resultAF = strncmp($strA, $strF, 6);
//In ra kết quả
Trang 2ech
esultD
?>
Cho chạ
Quote:
$resultA
$resultB
$resultD
$resultA
Vậy là đ
Ngoài 2
nhau tuy
1 st
b
sẽ
2 st
"f
N
"f
N
là
V
"F
Đơn giản
Chữ HO
Khi làm
nhất là s
PHP Co
strtou
strtolo
Hàm str
strtolow
Xét ví dụ
PHP Co
ho "\$result
DE<br/>\$r
ạy đoạn mã
AB = -1
BC = 1
DE = 0
AF = 0
đúng rồi nhỉ
hàm strcmp
y nhiên mỗi
trcasecmp v
iệt hoa thườ
ẽ nhận đc k
trnatcmp và
filename10
Nếu dùng str
filename10
Nhưng khôn
àm việc như
Với strnatcm
Filename10
n vậy thôi
OA và chữ
việc, đôi lú
sử dụng 2 h
de:
upper($xâu)
ower($xâu)
rtoupper khi
wer thì ngượ
ụ sau đây:
de:
tAB = $resu resultAF = $ trên bạn sẽ
ỉ?
p và strncm
i hàm lại kh
và strncase
ờng ~> nếu kết là 0
à strnatcase
" và "filena
rcmp thì do
" nhỏ hơn "
ng sao, chún
ư strcmp và
mp thì "filen
0" sẽ lớn hơ
thường
úc bạn khôn
àm chuyển
);
);
i chạy sẽ trả
ợc lại, sẽ trả
ultAB<br/>
$resultAF";
thu được:
mp còn có 1
hác nhau 1 t
cmp: 2 bạn
u trong ví dụ
ecmp: 2 anh
ame9"
o mã của "1
"filename9"
ng ta đã có 2
à strcasecmp
name10" sẽ
ơn "fileNAM
ng muốn để đổi sau:
ả về $xâu v
ả về $xâu vớ
>\$resultBC
;
vài hàm kh
tí tẹo:
này chỉ kh
ụ so sánh $s
h bạn này th
" nhỏ hơn "
"! Bạn sẽ lẩ
2 hàm strna
p cộng thêm
ẽ lớn hơn "f ME9"
ể ý đến chữ
với tất cả cá
ới tất cả các
= $resultB
hác cũng dù
ác ở 1 điểm strA và $str
hì khá hay đ
"9" nên hiển
ẩm bẩm: "L
atcmp và st
m khả năng filename9",
HOA và ch
ác kí tự đều
c kí tự đều l
C<br/>\$re
ùng để so sá
m, đó là nó s
rB mà dùng đấy Giả sử
n nhiên kết
àm việc như
trnatcasecm
xử lý số đặ
với strncas
hữ thường,
là kí tự HO
là kí tự thườ
esultDE = $
ánh 2 xâu v
sẽ không ph
g strcasecmp
bạn có 2 xâ
quả sẽ là
ư máy (!?)"
mp có khả nă
ặc biệt
secmp thì
cách đơn g
OA, hàm ờng
r
với
hân
p thì
âu là
" ăng
giản
Trang 3$st
ech
ech
ech
?>
Kết quả
Quote:
UPDAT
updateso
*Note:
Để nối 2
Trong ví
PHP Co
<?php
$st
ech
?>
Kết quả
Mr.pain
p
tr = "UpDA
ho strtouppe
ho "<br/>";
ho strtolowe
thu đc sẽ là
TESOFTS
ofts
2 xâu lại vớ
í dụ cuối cù
de:
p
tr = "UpDA
ho strtouppe
thu được v
nt(UDS)
AteSoftS";
er($str);
er($str);
à:
ới nhau ta dù ùng có thể v
AteSoftS";
er($str)."<b vẫn sẽ như v
ùng toán tử viết gọn lại
br/>".strtolo vậy
là:
ower($str);