levenshtein函数可以计算两个字符串之间的编辑距离,那么何为编辑距离?
编辑距离概念:编辑距离,是指两个字串之间,通过替换or插入or删除等操作将字符串str1转换成str2所需要操作的最少字符数量。 该算法的复杂度是 O(m*n),其中 n 和 m 分别是str1 和str2的长度
注意:如果其中一个字符串参数长度大于限制的255个字符时,返回-1。
举个例子1:只需要七次替换or插入or删除就能把gaojiufeng变成gao
echo levenshtein('gaojiufeng', 'gao');
这个函数还能设置最多的替换插入删除次数,后面还有3个参数,分别是:
cost_ins 定义插入次数 cost_rep 定义替换次数 cost_del 定义删除次数
再举个例子1:
echo levenshtein('gaojiufeng', 'gao',0,0,1); echo levenshtein('gaojiufeng', 'gao',0,0,0);
允许删除1次,它就会把jiufeng删除变成gao
<?php //设置Cookies数组 setcookie('Datatype[a]', '1'); setcookie('Datatype[b]', '2'); set...
md5/sha1+salt方式是目前各大cms常用的加密方式,虽然salt安全,但是各大md5网站也在研究这个方向,那么我们应该选择password_hash动态hash来助力,一种密码有多种hash结果.看代码模拟登陆.<?php //01.注册 $user ='zhang...
最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...
php7新增的特性(1).强制限制只能返回一种类型<?php class task { } //must return an integer function add(): int { &nb...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
自己的composer已经发布到packagist,但是无法使用composer require easy-task/easy-task来安装,只能在配置文件使用如下方式安装:"require": { "easy...