字符串是字符序列,比如 "Hello world!"。

PHP 字符串函数

在本节中,我们将学习常用的字符串操作函数。

PHP strlen() 函数

strlen() 函数返回字符串的长度,以字符计。

下例返回字符串 "Hello world!" 的长度:

实例

<?php
echo strlen("Hello world!");
?>

运行实例

以上代码的输出是:12

提示:strlen() 常用于循环和其他函数,在确定字符串何时结束很重要时。(例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环)。

PHP strpos() 函数

strpos() 函数用于检索字符串内指定的字符或文本。

如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

下例检索字符串 "Hello world!" 中的文本 "world":

实例

<?php
echo strpos("Hello world!","world");
?>

运行实例

以上代码的输出是:6。

提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

PHP addcslashes()函数

定义和用法
addcslashes() 函数在指定的字符前添加反斜杠。
语法
addcslashes(string,characters)
参数 描述
string 必需。规定要检查的字符串。
characters 可选。规定受 addcslashes() 影响的字符或字符范围。
提示和注释
注释:在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列。
例子 1

$str = "Hello World!";
echo $str;
$str = addcslashes($str, 'a..z');
$str = addcslashes($str, 'A..Z');
echo "</br>";
echo $str;

Hello World!
\H\e\l\l\o \W\o\r\l\d!

PHP addslashes() 函数

定义和用法
addslashes() 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:
单引号 (')
双引号 (")
反斜杠 (\)
NULL
语法
addslashes(string)
参数 描述
string 必需。规定要检查的字符串。
提示和注释
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。
注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。
不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。
遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

<?php
$str = "I'm myall";
echo addslashes($str);
?>

PHP bin2hex() 函数

PHP String 函数
定义和用法
bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。
语法
bin2hex(string)
参数 描述
string 必需。规定要转换的字符串。

<?php
$str = "myall";
echo bin2hex($str);
echo pack("H*",bin2hex($str));
?>

其他相关函数:

echo chr(48); //0 chr()函数从指定的ASCII值返回字符。
echo "<br>";
$str = "myall";
echo chunk_split($str,1,"."); //m.y.a.l.l. chunk_split() 函数把字符串分割为一连串更小的部分。
echo "<br>";
echo convert_uuencode("myall"); //%;7EA;&P` ` convert_uuencode()函数使用uuencode算法对字符串进行编码。
echo "<br>";
echo convert_uudecode(convert_uuencode("myall")); //myall convert_uudecode()函数对uuencode编码的字符串进行解码。
echo "<br>";
print_r(count_chars("myall",1)); //Array ( [97] => 1 [108] => 2 [109] => 1 [121] => 1 )
echo "<br>";
print_r(count_chars("myall",3)); //almy count_chars() 函数返回字符串所用字符的信息。
echo "<br>";
/*
fprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)。
该函数返回被写字符串的长度。
语法
fprintf(stream,format,arg1,arg2,arg++)
参数 描述
stream 可选。规定在哪里写/输出字符串。
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
说明
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
%% - 返回百分比符号
%b - 二进制数
%c - 依照 ASCII 值的字符
%d - 带符号十进制数
%e - 可续计数法(比如 1.5e+3)
%u - 无符号十进制数
%f - 浮点数(local settings aware)
%F - 浮点数(not local settings aware)
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
*/
$file = fopen("test.txt","w");
echo fprintf($file,"%s Hi!",$str);
echo "<br>";
print_r(explode("a","myall")); //Array ( [0] => my [1] => ll ) explode()函数把字符串分割为数组。
echo "<br>";
if(CRYPT_MD5==1){
echo "MD5:".crypt("myall"); //crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。
echo "<br>";
echo md5("myall");
}
echo "<br>";
printf("%u",crc32("myall")); //crc32() 函数计算一个字符串的 crc32 多项式。
echo "<br>";
echo htmlentities("I'm myall",ENT_QUOTES); //htmlentities() 函数把字符转换为 HTML 实体。
echo "<br>";
echo html_entity_decode("I'm myall",ENT_QUOTES,"UTF-8"); //
echo "<br>";
echo implode("",array("Hello ", "World!")); //implode()函数把数组元素组合为一个字符串。join()函数是implode()函数的别名。
echo "<br>";
parse_str("id=1&name=myall"); //parse_str()函数把查询字符串解析到变量中。
echo $id."<br>";
echo $name;
echo "<br>";
echo ord("myall"); //109 ord()函数返回字符串第一个字符的ASCII值。
echo "<br>";
echo nl2br("Hello\nmyall"); //nl2br()函数在字符串中的每个新行(\n)之前插入HTML换行符(<br>)。
echo "<br>";
echo sha1("myall"); //sha1() 函数计算字符串的 SHA-1 散列。
echo "<br>";
similar_text("Hello World!","Hello myall",$percent); //similar_text() 函数计算两个字符串的匹配字符的数目。
echo $percent;
echo "<br>";
echo str_ireplace("World","myall","Hello World"); //str_ireplace() 函数使用一个字符串替换字符串中的另一些字符。
echo "<br>";
echo str_pad("myall",20,".",STR_PAD_BOTH); //str_pad() 函数把字符串填充为指定的长度。
echo "<br>";
echo str_shuffle("myall"); //str_shuffle() 函数随机地打乱字符串中的所有字符。
echo "<br>";
echo str_split("myall",3); //str_split()函数把字符串分割到数组中。
echo "<br>";
echo strcasecmp("Hello","myall"); //strcasecmp() 函数比较两个字符串。
echo "<br>";
echo strchr("myall","a"); //该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
echo "<br>";
echo strip_tags("<h1><b>myall</b></h1>","<b><h1>"); //strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
echo "<br>";
echo stristr("myall","a"); //stristr() 函数查找字符串在另一个字符串中第一次出现的位置。
echo "<br>";
echo stripos("myall","a",0); //stripos() 函数返回字符串在另一个字符串中第一次出现的位置。
echo "<br>";
echo substr("myall",2,3); //substr() 函数返回字符串的一部分。
echo "<br>";
echo substr_count("myall","l",0,strlen("myall")); //substr_count() 函数计算子串在字符串中出现的次数。
echo "<br>";
echo substr_replace("myall","qq",0,2); //substr_replace() 函数把字符串的一部分替换为另一个字符串。
echo "<br>";
echo ucfirst("myall"); //ucfirst() 函数把字符串中的首字符转换为大写。
echo "<br>";
$str = "myall";
$number = 123;
$txt = vsprintf("Hello %s %u",array($str,$number)); //vsprintf() 函数把格式化字符串写入变量中。
echo $txt;
echo "<br>";
$str = "myall";
echo wordwrap($str,2,"<br>\n",TRUE); //wordwrap() 函数按照指定长度对字符串进行折行处理。

PHP 字符串函数的更多相关文章

  1. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  2. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  3. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  4. TSQL 字符串函数:截断和查找

    字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...

  5. c#编程基础之字符串函数

    c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...

  6. SQLSERVER常见系统函数之字符串函数(一)

    好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...

  7. python笔记-字符串函数总结

    字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...

  8. Sql Server函数全解<一>字符串函数

    阅读目录 1.ASCII()函数 2.CHAR()函数 3.LEFT()函数 4.RIGHT()函数 5.LTRIM()函数 6.RTRIM()函数 7.STR()函数 8.字符串逆序的函数REVER ...

  9. Sql Server系列:字符串函数

    字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char.nchar.varchar和nvarchar数据类型.字符串函数可以用在SELECT或者WHERE语句中. 1. A ...

  10. 前端学PHP之字符串函数

    × 目录 [1]特点 [2]输出 [3]空格[4]大小写[5]HTML[6]格式化[7]比较 前面的话 字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的.信息的分类.解析.存储 ...

随机推荐

  1. arm v5,v6,v7?

    http://blog.csdn.net/woshi_ziyu/article/details/7946862

  2. 《利用Python进行数据分析》第7章学习笔记

    数据规整化:清理.转换.合并.重塑 合并数据集 pandas.merge pandas.concat combine_first 数据库风格的DataFrame合并 索引上的合并 join()实例方法 ...

  3. 如何判断ScrollView滑动方形

    1/判断滚动视图左右滚动 { CGFloat startContentOffsetX;//滚动开始的坐标 CGFloat willEndContentOffsetX; //滚动即将停止的坐标 CGFl ...

  4. SQL提示介绍-强制并行

    查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划.很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用 ...

  5. MySQL1:MySQL函数汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  6. Java设计模式6:策略模式

    策略模式 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. 策略模式的结构 策略模式是对算法的包 ...

  7. 设计模式之美:Private Class Data(私有类数据)

    索引 意图 结构 参与者 适用性 效果 实现 实现方式(一):实现对初始化数据的封装. 意图 封装类的初始化数据,控制对类的属性的更改,并保持类数据与使用数据的方法间的隔离. Encapsulate ...

  8. angularjs ng-option ie issue解决方案

    最近遇见angularjs 在IE上当使用ng-options作为select的选项数据源,并且被套在ng-switch(ng-transclude)之类的,当angular上得ng-options数 ...

  9. Linux 对比两个文本的交集和差集(comm)

    200 ? "200px" : this.width)!important;} --> 介绍 comm命令可以对两个已排序好的文本的内容进行交集和差集的对比,记住必须是已排序 ...

  10. 100天后 - 100-days-later

    赛斯·高汀(Seth Godin)的博客:  http://sethgodin.typepad.com/seths_blog/2013/04/100-days-later.html 面对着数以千计的图 ...