字符串是字符序列,比如 "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. Bookstore project using XAMPP 详细配置 Part 3

    3. Create PHP 1) “Sublime Text” is used as text editor. 2) HTML part of “hello.php” was created as s ...

  2. 3.一起来学hibernate之配置文件2

    之前的映射文件配置都是简单的.基础的配置,只涉及到单个javabean,对于单个javabean的增删改查都能很好的.简单的去完成. 但是知道简单配置远远不够,并不能完成很多复杂的情况,比如对象与对象 ...

  3. Linux内核--网络栈实现分析(二)--数据包的传递过程(上)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7492423 更多请看专栏,地址 ...

  4. NOSQL 数据库 CodernityDB

    CodernityDB 是一个开源的纯 Python 实现的.无第三方依赖.支持多平台的 NoSQL 数据库. 关键特性: 纯 Python 开发 支持多索引 快速 (每秒将近10万的写入和超过10万 ...

  5. pdf.js在IIS中配置使用笔记

    最近在手机App开发Android版本时候遇到需要显示PDF文件的需求,记得之前直接使用系统浏览器或者WebView就可以显示,但是现在不可以了,只能另寻其他办法. 最终找到PDF.JS来进行实现,但 ...

  6. 如何基于RabbitMQ实现优先级队列

    概述 由于种种原因,RabbitMQ到目前为止,官方还没有实现优先级队列,只实现了Consumer的优先级处理. 但是,迫于种种原因,应用层面上又需要优先级队列,因此需求来了:如何为RabbitMQ加 ...

  7. 如何参与一个 GitHub 开源项目?

    最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无 人不知,越来越多的个人和公司纷纷加入到Github的大家族里 ...

  8. 旺信UWP公测邀请

    各位园主好,今天已将旺信Win10版提交到商店Beta测试. 哪位朋友需要邀请码的,请在评论中回复,我给你私信. 数量有限,共10枚. 2016/3/10 14:55 更新 10枚邀请码已发给前10位 ...

  9. dojo/_base/lang源码分析

    dojo/_base/lang模块是一个工具模块,但几乎用dojo开发的app都会用到这个模块.模块中的方法能够在某些开发场景中避免繁冗的代码,接下来我们一起看看这些工具函数的使用和原理(仅仅是原理的 ...

  10. java实现输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

    package JingDian; import java.util.Scanner; public class charKind { public static void main(String[] ...