Hàm levenshtein() của PHP
Mô hình
Tính khoảng cách Levenshtein giữa hai chuỗi:
<?php echo levenshtein("Hello World","ello World"); echo "<br>"; echo levenshtein("Hello World","ello World",10,20,30); ?>
Định nghĩa và cách sử dụng
Hàm levenshtein() trả về khoảng cách Levenshtein giữa hai chuỗi.
Khoảng cách Levenshtein, còn gọi là khoảng cách chỉnh sửa, là số lần thao tác chỉnh sửa tối thiểu cần thiết để chuyển đổi một chuỗi thành chuỗi khác. Các thao tác chỉnh sửa được phép bao gồm thay thế một ký tự bằng một ký tự khác, chèn một ký tự, xóa một ký tự.
Mặc định, PHP cung cấp cùng một mức độ trọng lượng cho mỗi thao tác (thay thế, chèn và xóa). Tuy nhiên, bạn có thể xác định chi phí của mỗi thao tác bằng cách thiết lập các tham số tùy chọn insert, replace, delete.
Chú ý:Hàm levenshtein() không phân biệt chữ hoa và chữ thường.
Chú ý:Hàm levenshtein() nhanh hơn similar_text() Hàm nhanh hơn. Tuy nhiên, hàm similar_text() có thể cung cấp kết quả chính xác hơn bằng cách cần ít chỉnh sửa bắt buộc hơn.
Cú pháp
levenshtein(string1,string2,insert,replace,delete)
Tham số | Mô tả |
---|---|
string1 | Bắt buộc. Cần chuỗi tham số thứ nhất cần so sánh. |
string2 | Bắt buộc. Cần chuỗi tham số thứ hai cần so sánh. |
insert | Tùy chọn. Chi phí chèn một ký tự. Mặc định là 1. |
replace | Tùy chọn. Chi phí thay thế một ký tự. Mặc định là 1. |
delete | Tùy chọn. Chi phí xóa một ký tự. Mặc định là 1. |
Chi tiết kỹ thuật
Giá trị trả về: | Trả về khoảng cách Levenshtein giữa hai chuỗi tham số. Nếu một chuỗi nào đó vượt quá 255 ký tự, sẽ trả về -1. |
Phiên bản PHP: | 4.0.1+ |