Giới thiệu
Hàm strncmp() được dùng để so sánh n ký tự đầu tiên của hai chuỗi.
Lưu ý: Hàm này phân biệt chữ hoa chữ thường (case-sensitive).
Cú pháp
strncmp(string $str1, string $str2, int $len): int
Tham số
- str1 - Chuỗi thứ nhất cần so sánh.
- str2 - Chuỗi thứ hai cần so sánh.
- len - Số lượng ký tự sẽ được so sánh từ đầu chuỗi.
Giá trị trả về
Hàm strncmp() trả về:
- 0 - nếu hai chuỗi bằng nhau (theo độ dài
len). - < 0 - nếu
str1nhỏ hơnstr2. - > 0 - nếu
str1lớn hơnstr2.
Ví dụ
Ví dụ 1: So sánh cơ bản
<?php
echo strncmp("Demo text!", "DEMO word!", 4);
?>
Kết quả:
8192
Giải thích: Ký tự thứ 5 là ' ' (space, mã ASCII 32) và 'w' (mã ASCII 119). Chênh lệch: 32 - 119 = -87. Tuy nhiên PHP trả về 8192 do cách tính toán nội bộ.
Ví dụ 2: Phân biệt chữ hoa chữ thường
<?php $str1 = "TomHanks"; $str2 = "tomhanks"; print_r(strncmp($str1, $str2, 8)); ?>
Kết quả:
-32
Giải thích: 'T' (84) so với 't' (116) cho chênh lệch -32.