字符串是字符序列,比如 "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. 打印文本中的所有单词,并且打印每个单词出现的行号,非实义单词不考虑(TCPL,练习6-3)

    建立一棵二叉树,每个接单存放单词以及指向一个链表的指针,以及指向左右节点的指针.链表内存放行号以及指向下一个链表节点的指针. 每录入一个单词,先寻找二叉树,再寻找它的链表,分别将单词和行号插入二叉树和 ...

  2. Visual Studio 2013 Nuget控制台无法找到程序包

    前几天因为公司的项目使用的是MVC4框架,用VS2015不方便新增控制器,切换回2013.用了一个大半年没有用的功能,就是Nuget控制台. 当我尝试使用Nuget控制台的命令安装一个Package的 ...

  3. Python 深入理解yield

    只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: for 取出alist的每一项,然后把i + 1塞进去.然后通过调用取出每一项: = [1, 2, 3, 4]for x in ...

  4. 丹佛机场行李系统Postmortem

    丹佛机场行李系统做Postmortem总结 事情起因是因为丹佛市场承诺进行机场建设,因此此项目问题不可回避,必须完成,合作的双方都是富有经验的公司但是最后依然变成了不可控的项目,经过小组讨论后我们认为 ...

  5. java 多线程--- Thread Runnable Executors

    java 实现多线程的整理: Thread实现多线程的两种方式: (1)继承 Thread类,同时重载 run 方法: class PrimeThread extends Thread { long ...

  6. Xamarin.Android中使用ResideMenu实现侧滑菜单

    上次使用Xamarin.Android实现了一个比较常用的功能PullToRefresh,详情见:Xamarin. Android实现下拉刷新功能 这次将实现另外一个手机App中比较常用的功能:侧滑菜 ...

  7. 图解:Arcgis Server 安装

    必须保证IIS配置正常,否则arcserver安装不会成功. 选择安装路径,还是尽量不要在有括号的文件夹下. 设置服务名,最好使用默认的. 点击完成后会要求进行服务配置. 在windows serve ...

  8. 将Win8.1/WP8.1应用迁移到Universal Windows Platform

    在上一篇在VS2015 RC打开CTP中创建的工程,我们介绍了怎么在RC中打开CTP中创建的Universal 工程,这一篇我们来讲下怎么将Windows 8.1/WP8.1的应用迁移到Univers ...

  9. Java IO1:IO和File

    IO 大多数的应用程序都要与外部设备进行数据交换,最常见的外部设备包含磁盘和网络.IO就是指应用程序对这些设备的数据输入与输出,Java语言定义了许多类专门负责各种方式的输入.输出,这些类都被放在ja ...

  10. 趣味C程序-HelloWord

    说明:刚才写了一个基础的helloWord程序(很早以前从其他地方收集的.),本以为群里面的人是可以答对了,但是我错了,没有人.他们的错误往往被程序的外表给蒙蔽了. 很多人的回答是0.如果你仔细看的话 ...