php中常用字符串比较函数

 更新时间:2016年11月25日 16:49  点击:1681

substr_compare() 函数从指定的开始长度比较两个字符串。

该函数返回:

0 - 如果两字符串相等
<0 - 如果 string1 (从开始位置)小于 string2
>0 - 如果 string1 (从开始位置)大于 string2
语法
substr_compare(string1,string2,startpos,length,case)

*/
$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=substr_compare($str1,$str2,1,10);      //执行比较操作
echo $result;           //输出结果,1
/*
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。

在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。


*/

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

/*
strncasecmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strncasecmp(string1,string2,length)
*/
$str1="hello world";          //定义字符串1
$str2="hello world";          //定义字符串2
$result=strncasemp($str1,$str2,7);       //执行比较操作
echo $result;           //输出结果,0

/*
strncmp() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
语法
strncmp(string1,string2,length)
*/

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

/*
strcoll() 函数比较两个字符串。

该函数返回:

0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
字符串的比较会根据本地设置而变化。(a<a 或 a>a)。

语法
strcoll(string1,string2)
*/

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

strpos() 函数返回字符串在另一个字符串中第一次出现的位置。

如果没有找到该字符串,则返回 false。

语法
strpos(string,find,start)
*/

$str="hello world";          //定义字符串1
$result=strpos($str,"ll");         //执行查找最早出现的位置
echo $result;           //输出结果,2

/*

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

如果成失败,否则返回 false。

语法
strrchr(string,char)

*/

$str="hello world";          //定义字符串1
$result=strrchr($str,"o");         //执行查找最末出现的位置
echo $result; 

/*
strpbrk() 函数在字符串中搜索指定字符中的任意一个。

该函数返回指定字符第一次出现的位置开始的剩余部分。如果没有找到,则返回 false。

语法
strpbrk(string,charlist)
*/

$str="hello world";          //定义字符串1
$result=strpbrk($str,"oe");         //执行查找操作
echo $result;           //输出结果,ello world


/*
提示和注释
注释:该函数对大小写敏感。

*/

*/
$hash_list=hash_algos();        //返回注册的hash规则列表
print_r($hash_list);         //显示结果

/*创建文件以计算哈希值*/
file_put_contents('example.txt', 'the quick brown fox jumped over the lazy dog.');
/*输出哈希值信息*/
echo hash_file('md5', 'example.txt');

$str="the quick brown fox jumped over the lazy dog.";      //定义字符串
echo hash('ripemd160',$str);           //生成哈希值

$ctx=hash_init('md5');          //初始化一个hash值
hash_update($ctx,'the quick brown fox');       //向哈希值灌注数据
hash_update($ctx,'jumped over the lazy dog.');      //向哈希值灌注数据
echo hash_final($ctx);          //输出最后的结果

$str="the quick brown fox jumped over the lazy dog.";    //定义字符串
$fp=tmpfile();            //创建一个临时文件
fwrite($fp,$str);            //将字符串写入到临时文件
rewind($fp);            //倒回文件指针的位置
$ctx=hash_init('md5');          //初始化一个hash值
hash_update_stream($ctx,$fp);         //向数据流中灌注数据
echo hash_final($ctx);          //输出结果


$str="the quick brown fox jumped over the lazy dog.";    //定义字符串
echo hash_hmac('ripemd160',$str,'secret');      //生成包含密钥的hash值

/*创建一个文件并将字符串写入其中*/
$file="example.txt";          //定义文件名
$str=" the quick brown fox jumped over the lazy dog.";   //定义字符串
file_put_contents($file,$str);        //向文件中写入字符串
echo hash_hmac_file('md5',$file,'secret');      //生成一个包含密钥的hash值

$ctx=hash_init('sha1');          //定义字符串
hash_update($ctx,'the quick brown fox jumped over the lazy dog.');  //向哈希值中灌注数据
echo hash_final($ctx);          //输出结果

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;          //输出比较结果  

parse_str() 函数把查询字符串解析到变量中。

语法
parse_str(string,array)
注释:如果未设置 array 参数,由该函数设置的变量将覆盖已由同名变量。


*/

parse_str("id=23&name=john%20adams");
echo $id."<br />";
echo $name;

//23
//john

$str="first=value&arr[]=foo+bar&arr[]=baz";    //定义字符串
parse_str($str);          //把字符串解析为变量
echo $first;          //输出$first的值value
echo "<br>";
echo $arr[0];          //输出$arr[0]的值foo bar
echo "<br>";
echo $arr[1];          //输出$arr[1]的值baz
echo "<br>";
parse_str($str,$output);        //把字符串解析的变量存储在$output中
echo $output['first'];         //输出$first的值value
echo "<br>";
echo $output['arr'][0];         //输出$arr[0]的值foo bar
echo "<br>";
echo $output['arr'][1];         //输出$arr[1]的值baz

/*

注释:php教程.ini 中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • c#中判断字符串是不是数字或字母的方法

    这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
  • PostgreSQL判断字符串是否包含目标字符串的多种方法

    这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php字符串按照单词逐个进行反转的方法

    本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C# 10个常用特性汇总

    这篇文章主要介绍了C# 10个常用特性,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-09
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • 使用list stream: 任意对象List拼接字符串

    这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • C# 16 进制字符串转 int的方法

    这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25