字符串是字符序列,比如 "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. Link To Sql简单

    Linq及其扩展 Linq是一种数据查询语言(它能够从多种数据源中查询数据). 现在基于Linq的扩展有: Linq To Object:主要是从内存对象中查询数据 Linq To Sql:主要是从M ...

  2. Win7系统修改hosts文件不能保存的解决方法

    地址:http://jingyan.baidu.com/album/e5c39bf56564a539d7603312.html

  3. Linux(centeros)下安装jdk

    首先需要说明的是有的Linux系统自带jdk,这个jdk是openjdk,可以通过java-version查看 所以安装的步骤是,首先删除系统自带的(如果有)openjdk 1. rpm -qa | ...

  4. 问题:无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)

    无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用) 问题: 运行程序更新时出现报错: 无法获得锁 /var/lib/dpkg/lock - open (11: ...

  5. HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误

    (来源:http://www.tuicool.com/articles/Ermmmyn) HTTP请求方法: 常用方法: Get\Post\Head (1)Get方法. 取回请求URL标志的任何信息, ...

  6. HTML5之Canvas时钟(网页效果--每日一更)

    今天,带来的是使用HTML5中Canvas标签实现的动态时钟效果. 话不多说,先看效果:亲,请点击这里 众所周知,Canvas标签是HTML5中的灵魂,HTML5 Canvas是屏幕上的一个由Java ...

  7. 3年的坚持,最终造就著作——《Learninghard C#学习笔记》

    前言 起初开始写博文主要是记录学习过程中对学到内容的自我总结和理解,同时也希望本人的理解可以帮助到一些走在学习路上的朋友.但是令我没有想到的是,我总结的博文得到了广大园友的评论和支持,正是博友的支持, ...

  8. AlwaysOn 部分笔记及文档连接

    本文主要含有一些AlwaysOn 配置方法及连接. 本想展开详细写一下  无奈隔壁在年会排练节目,那歌唱得我只想赶紧回家!!!!!!!!!!!!!!! http://www.cnblogs.com/d ...

  9. mongodb(Index)

    备忘mongoDb 索引的一些知识点. 1.索引是用以加速数据库查询的手段,在mongo中主要是采用B树的方式: 2.每个集合最多可增加64个索引,不建议增加过多索引,原因在于一是索引本身占用空间,二 ...

  10. Aoite 系列(04) - 强劲的 CommandModel 开发模式(上篇)

    Aoite 是一个适于任何 .Net Framework 4.0+ 项目的快速开发整体解决方案.Aoite.CommandModel 是一种开发模式,我把它成为"命令模型",这是一 ...