PHP Tutorial chương 2 p15

Xâ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); | Xâ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ả echo resultAB resultAB br resultBC resultBC br resultDE r esultDE br resultAF resultAF Cho chạy đoạn mã trên bạn sẽ thu được Quote resultAB -1 resultBC 1 resultDE 0 resultAF 0 Vậy là đúng rồi nhỉ 0 Ngoài 2 hàm strcmp và strncmp còn có 1 vài hàm khác cũng dùng để so sánh 2 xâu với nhau tuy nhiên mỗi hàm lại khác nhau 1 tí tẹo 1. strcasecmp và strncasecmp 2 bạn này chỉ khác ở 1 điểm đó là nó sẽ không phân biệt hoa thường nếu trong ví dụ so sánh strA và strB mà dùng strcasecmp thì sẽ nhận đc kết là 0 2. strnatcmp và strnatcasecmp 2 anh bạn này thì khá hay đấy. Giả sử bạn có 2 xâu là filename10 và filename9 . Nếu dùng strcmp thì do mã của 1 nhỏ hơn 9 nên hiển nhiên kết quả sẽ là filename10 nhỏ hơn filename9 Bạn sẽ lẩm bẩm Làm việc như máy . Nhưng không sao chúng ta đã có 2 hàm strnatcmp và strnatcasecmp có khả năng làm việc như strcmp và strcasecmp cộng thêm khả năng xử lý số đặc biệt. Với strnatcmp thì filename10 sẽ lớn hơn filename9 với strncasecmp thì Filename10 sẽ lớn hơn .

Bấm vào đây để xem trước nội dung
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.