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);
?>

Ví dụ chạy

Đị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+