php字符比较函数similar_text、strnatcmp与strcasecmp用法分析

本文实例讲述了php字符比较函数similar_text、strnatcmp与strcasecmp用法。分享给大家供大家参考。具体如下:

① similar_text() 函数计算两个字符串的匹配字符的数目,该函数也可以计算两个字符串的相似度,以百分比计.

语法:similar_text(string1,string2,percent)

注释:levenshtein() 函数比 similar_text() 函数更快,不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果.

下面看实例,代码如下:

代码如下:

$str1="hello world";          //定义字符串1
$str2="hello peter";          //定义字符串2
$result=similar_text($str1,$str2);       //进行比较
echo $result;  //输出比较后的结果

② strnatcmp() 函数使用一种"自然"算法来比较两个字符串,在自然算法中,数字 "2" 小于数字 "10",在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字,该函数返回:

0 - 如果两个字符串相等,<0 - 如果 string1 小于 string2,>0 - 如果 string1 大于 string2.

语法:strnatcmp(string1,string2).

注释:该函数对大小写敏感.

代码如下:

$str1="hello world";         //定义字符串1
$str2="hello world";         //定义字符串2
$result=strnatcmp($str1,$str2);      //执行比较操作
echo $result;          //输出比较结果

③ strcasecmp() 函数比较两个字符串,该函数返回:

0 - 如果两个字符串相等,<0 - 如果 string1 小于 string2,>0 - 如果 string1 大于 string2.

语法:strcasecmp(string1,string2)

注释:该函数是二进制安全的,且对大小写不敏感,代码如下:

代码如下:

$str1="hello world";         //定义字符串1
$str2="hello world";         //定义字符串2
$result=strcasecmp($str1,$str2);      //执行比较操作
echo $result;          //输出比较结果

希望本文所述对大家的PHP程序设计有所帮助。

(0)

相关推荐

  • php similar_text()函数的定义和用法

    php similar_text() 函数计算比较两个字符串的相似度,本文章向码农介绍php similar_text() 函数的基本使用方法和基本使用实例,感兴趣的码农可以参考一下. 定义和用法 similar_text() 函数计算两个字符串的相似度. 该函数也能计算两个字符串的百分比相似度. 注释:levenshtein() 函数比 similar_text() 函数更快.不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果. 语法  similar_text(s

  • 使用PHP similar text计算两个字符串相似度

    在网站开发中,我们经常使用php similar text 计算两个字符串相似度; 1,similar_text的用法 如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法 复制代码 代码如下: echo similar_text('ly89cn', 'ly89'); 这样输出4,因为他们有4个字符相等 复制代码 代码如下: similar_text('ly89cn', 'ly89', $percent); echo $percent; 这样输出80

  • PHP similar_text 字符串的相似性比较函数

    PHP 提供了一个极少使用的 similar_text 函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比,以下是similar_text () 函数的使用方法: 复制代码 代码如下: similar_text($string1, $string2, $percent); //使用此函数后,我们从变量$percent 中获取刚比较的两个字符串的相似度百分比

  • PHP改进计算字符串相似度的函数similar_text()、levenshtein()

    similar_text()中文汉字版 复制代码 代码如下: <?php       //拆分字符串       function split_str($str) {         preg_match_all("/./u", $str, $arr);         return $arr[0];       }              //相似度检测       function similar_text_cn($str1, $str2) {         $arr_1

  • php字符比较函数similar_text、strnatcmp与strcasecmp用法分析

    本文实例讲述了php字符比较函数similar_text.strnatcmp与strcasecmp用法.分享给大家供大家参考.具体如下: ① similar_text() 函数计算两个字符串的匹配字符的数目,该函数也可以计算两个字符串的相似度,以百分比计. 语法:similar_text(string1,string2,percent) 注释:levenshtein() 函数比 similar_text() 函数更快,不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果

  • Java字符流与字节流区别与用法分析

    本文实例讲述了Java字符流与字节流区别与用法.分享给大家供大家参考,具体如下: 字节流与字符流主要的区别是他们的的处理方式 流分类: 1.Java的字节流 InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先. 2.Java的字符流 Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先. InputStream,OutputStream,Reader,writer都是抽象类.所以不能直接new 字节流是最基本的,所有的Inpu

  • C#中OpenFileDialog和PictrueBox的用法分析

    本文实例讲述了C#中OpenFileDialog和PictrueBox的用法.分享给大家供大家参考.具体用法分析如下: 先来看看这段代码: 复制代码 代码如下: string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "D:\\Patch"; openFileDialog1.Filter = &q

  • C#类的访问修饰符用法分析

    本文详细分析了C#类的访问修饰符用法,分享给大家供大家参考.具体用法分析如下: 默认情况下,类声明为内部的,即只有当前工程中的代码才能访问它.可以用internal访问修饰符关键字显式指定,但这不是必须的,类在定义时默认为此类型的类.但是C# 方法默认访问级别: private. 方法或者属性的修饰符的访问级别如下图: 访问修饰符 意 义 public 访问不受限制,可以类内和任何类外的代码中访问 protected 可访问域限定于类内或从该类派生的类内 internal 可访问域限定于类所在的

  • PHP模板引擎Smarty中的保留变量用法分析

    本文实例讲述了PHP模板引擎Smarty中的保留变量用法.分享给大家供大家参考,具体如下: 在 Smarty 中,有一些保留变量,它们是不需要 PHP 脚本去分配就可以直接使用,即不用使用 $_tpl->assign('var','value') 去分配. 1.在模板中访问页面请求的变量 {$smarty.get.user} == $_GET['user'] {$smarty.post.user} == $_POST['user'] {$smarty.cookie.username} == $_

  • php类中的各种拦截器用法分析

    本文实例讲述了php类中的各种拦截器用法.分享给大家供大家参考.具体用法分析如下: 1.__get( $property ) 访问未定义的属性时调用 复制代码 代码如下: class lanjie  {      function __get($name)      {          echo $name." property not found! ";      }  } $ob = new lanjie();  echo $ob->g; 当我们调用对象$ob未定义的属性g

  • C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析

    本文实例讲述了C#中Forms.Timer.Timers.Timer.Threading.Timer的用法分析,分享给大家供大家参考.具体分析如下: 在.NET Framework里面提供了三种Timer ① System.Windows.Forms.Timer ② System.Timers.Timer ③ System.Threading.Timer 现分述如下: 一.System.Windows.Forms.Timer 1.基于Windows消息循环,用事件方式触发,在界面线程执行:是使用

  • Python面向对象class类属性及子类用法分析

    本文实例讲述了Python面向对象class类属性及子类用法.分享给大家供大家参考,具体如下: class类属性 class Foo(object): x=1.5 foo=Foo() print foo.x#通过实例访问类属性 >>>1.5 print Foo.x #通过类访问类属性 >>>1.5 foo.x=1.7 #只改新实例属性,不会改变类属性 print foo.x >>>1.7 print Foo.x >>>1.5 foo.

  • JS设计模式之状态模式概念与用法分析

    本文实例讲述了JS设计模式之状态模式概念与用法.分享给大家供大家参考,具体如下: 1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. 2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况.把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化. function Context( _state ) { this.state = _state; this.request = function() { this.stat

  • JS设计模式之访问者模式定义与用法分析

    本文实例讲述了JS设计模式之访问者模式定义与用法.分享给大家供大家参考,具体如下: 在访问者模式中,主要包括下面几个角色 1.抽象访问者:抽象类或者接口,声明访问者可以访问哪些元素,具体到程序中就是visit方法中的参数定义哪些对象是可以被访问的. 2.访问者:实现抽象访问者所声明的方法,它影响到访问者访问到一个类后该干什么,要做什么事情. 3.抽象元素类:接口或者抽象类,声明接受哪一类访问者访问,程序上是通过accept方法中的参数来定义的.抽象元素一般有两类方法,一部分是本身的业务逻辑,另外

随机推荐