php常用字符函数实例小结

本文实例总结了PHP常用字符函数分享给大家供大家参考,具体如下:

1. string substr(string $string,int $start [,int $length])

函数功能

:返回字符串string由start和length参数指定的子字符串。

参数:

rush:PHP;"> $rest=substr(" abcdef ",-1);//返回“ f ” $rest=substr(" abcdef ",-2);// 返回 “ ef ” $rest=substr(" abcdef ",-3,1); //返回 “ d ”

包括length个字符(取决于string的长度)。

如果提供了负数的length,那么string末尾处的许多字符将会漏掉,即为从末尾处不考虑字符(可以理解我截断),如果start不在文本中,那么将返回一个空字符串。

如果提供了值为0,FALSE或NULL的length,那么将返回一个空字符串。

如果没有提供length,返回的字符串将从start的位置一直到字符结束。

rush:PHP;"> $rest=substr("abcdef","0","-1"); //返回 abcde $rest=substr("abcdef","2","-1"); //返回 cde $rest=substr("abcdef"," 4","-4"); //返回 NULL $rest=substr("abcdef","-3","-1"); //返回 de

[ ]中括号代表该参数为可选参数,不设定即为认参数。(接触PHP快8个月了,一直奇怪函数的参数为啥要加个中括号,今天终于忍不住百度了下!惭愧!)

2. int preg_match(string $pattern ,string $subject [,array &$matches [,int $flag=0 [,int $offset=0 ]]])

函数功能

搜索subject与pattern给定的正则表达式的一个匹配。

参数

搜索的模式,字符类型。 搜索结果,$matches[0]包含完整模式匹配到的文本,$matches[1]将包含第一个捕获子组匹配到文本,以此类推。 标记值:

PREG_OFFSET_CAPTURE

如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的). 注意: 这会改变填充到matches参数的数组,使其每个元素成为 一 个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量.

通常,搜索从目标字符串的开始未知开始.可选参数offset用于 指定从目标字符串的某个未知开始搜索(单位是字节).

使用offset参数不同于向preg_match() 传递按照位置通过substr($subject,$offset)截取目标字符串结果,因为pattern可以包含断言比如^,$ 或者(?<=x). 比较:

rush:PHP;">

以上例程会输出

rush:PHP;"> Array ( )
rush:PHP;">

将会产生匹配

Array ( [0] => def [1] => 0 ) )

3. strpos(string,find,start)

搜索的字符串。 搜索的位置,认从第一个字符开始。

函数对大小写敏感,如不希望这样可以使用stripos()函数

例:

rush:PHP;"> echo strpos("Hello world! "," wo ");// 输出 6

4. string dirname(string path)

函数功能:取得路径中的目录名。在 Win32 系统中,用斜线 (/) 或者反斜线 (\) 都可以;但是其它的操作系统的路径都是 (/)。

rush:PHP;"> $path = "/etc/hostname"; $file = dirname($path);

$file 为 "/etc"

5. str_split(string,length)

默认是 1。

rush:PHP;">

运行结果:

H [1] => e [2] => l [3] => l [4] => o )

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...