Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm strncmp() trong PHP

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 str1 nhỏ hơn str2.
  • > 0 - nếu str1 lớn hơn str2.

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.