转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/51611893
本文出自:【顾林海的博客】

前言

五月一号离的职,回老家休息了一个月,玩的也差不多了,来上海已经三四天了,准备开始找工作,想想又得经历一个苦逼的求职之旅,我自己本身是一名Android开发,很多人问我为什么还学其他的编程语言,只能说兴趣吧,不想局限在一个领域里。

如何获取字符串的长度

获取字符串的长度使用的是strlen()函数。

语法格式如下:

int strlen(string str)

注意:
汉字占两个字符,数字、英文、小数点、下划线和空格占一
个字符。

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
echo strlen("你好PHP");
?></body>
</html>

输出结果:

7

如何截取字符串

字符串截取可以采用PHP的预定义函数substr()实现。

语法格式如下:

string substr ( string str, int start [, int length])

参数说明:

参数 说明
str 指定字符串对象
start 指定开始截取字符串的位置。如果参数start为负数,则从字符串的末尾开始截取
length 可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
echo substr("hello,PHP!",0)."<br>";//从第0个字符开始截取
echo substr("hello,PHP!",2,5)."<br>";//从第2个字符开始截取到第5个字符
echo substr("hello,PHP!",-5,2)."<br>";//从倒数第5个字符开始截取2个字符
echo substr("hello,PHP!",0,-5)."<br>";//从第0个字符截取到倒数第5个字符
?></body>
</html>

运行结果:

hello,PHP!
llo,P
,P
hello

注意:
substr()函数在截取中文字符串时,如果截取的字符串中出
现奇数,那么就会导致截取的中文字符串出现乱码,因为一个中
文字符由两个字节组成。所以substr()函数适用于对英文字符串的
截取。

如何进行字符串的比较

在PHP中,对字符串之间进行比较的方法有很多种

  • 第一种是使用strcmp()函数按照字节进行比较
  • 第二种是使用strnatcmp()函数按照自然排序法进行比较
  • 第三种是使用strncmp()函数指定从源字符串的位置开始比较

按字节进行字符串的比较

按字节进行字符串比较的方法有两种,分别是strcmp()和strcasecmp()
函数,通过这两个函数即可实现对字符串进行按字节的比较。这两种函数的区
别是strcmp()函数区分字符的大小写,而strcasecmp()函数不区分字符的大
小写。

strcmp()函数的语法格式如下:

int strcmp ( string str1, string str2)

参数str1和参数str2指定要比较的两个字符串。如果相等则返回0;如果参数
str1大于参数str2则返回值大于0;如果参数str1小于参数str2则返回值小于
0。

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="你好,PHP!";
$str2="你好,PHP!";
$str3="HELLO,PHP!";
$str4="hello,PHP!";
echo strcmp($str1,$str2)."<br>";
echo strcmp($str3,$str4)."<br>";
echo strcasecmp($str3,$str4);
?></body>
</html>

运行结果:

0
-1
0

按自然排序法进行字符串的比较

在PHP中,按照自然排序法进行字符串的比较是通过strnatcmp()函数来实现的。自然排序法比较的是字符串中的数字部分,将字符串中的数字按照大小进行排序。

语法格式如下:

int strnatcmp ( string str1, string str2)

如果字符串相等则返回0,如果参数str1大于参数str2则返回值大于0;
如果参数str1小于参数str2则返回值小于0。本函数区分字母大小写。

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="ww2";
$str2="ww10";
echo strnatcmp($str1,$str2)."<br>";
?></body>
</html>

运行结果:

-1

指定从源字符串的位置开始比较

strncmp()函数用来比较字符串中的前n个字符。

语法格式如下:

int strncmp(string str1,string str2,int len)

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="Ww2";
$str2="ww10";
echo strncmp($str1,$str2,1)."<br>";
?></body>
</html>

运行结果:

-1

检索字符串

1.使用strstr()函数查找指定的关键字

获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。

语法格式如下:

string strstr ( string haystack, string needle)

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="b.png";
if(strstr($str1,".")!=".png"){echo "格式不准确!<br>";
}else{echo "格式准确!<br>";
}?></body>
</html>

运行结果:

格式准确!

2.使用substr_count()函数检索子串出现的次数获取指定字符在字符串中出现的次数。

语法格式如下:

int substr_count(string haystack,string needle)

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="你好,PHP";
echo substr_count($str1,"P")?></body>
</html>

运行结果:

2

替换字符串

通过字符串的替换技术可以实现对指定字符串中的指定字符进行替换。字符串的替换技术可以通过以下两个函数实现:str_ireplace()函数和substr_replace()函数。

str_ireplace语法格式:

mixed str_ireplace ( mixed search, mixed replace, mixed
subject [, int &count])

将所有在参数subject中出现的参数search以参数replace取代,参数&count表示取代字符串执行的次数。本函数区分大小写。

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="你好,PHP";
echo str_ireplace("你好","Hello",$str1);?></body>
</html>

运行结果:

Hello,PHP

substr_replace语法格式:

string substr_replace(string str,string repl,int start,[int length])
参数 说明
str 指定要操作的原始字符串
repl 指定替换后的新字符串
start 指定替换字符串开始的位置。正数表示起始位置从字符串开头开始;负数表示起始位置从字符串的结尾开始;0表示起始位置从字符串中的第一个字符开始
length 可选参数,指定返回的字符串长度。默认值是整个字符串。正数表示起始位置从字符串开头开始;负数表示起始位置从字符串的结尾开始;0表示插入而非替代

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$str1="你好,PHP";
echo substr_replace($str1,"Hello",0,4);?></body>
</html>

运行结果:

Hello,PHP

PHP学习笔记-字符串操作2相关推荐

  1. python学习笔记——字符串操作

    字符串相关操作 #!/usr/bin/env python3 # encoding: utf-8 # author: huangwj # mail: huangwjwork@gmail.com # b ...

  2. PHP学习笔记-字符串操作1

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51001820 本文出自:[顾林海的博客] 前言 这几天身体比较疲惫,看 ...

  3. java中人民币的符号怎么打_Java学习笔记---字符串操作(人民币大写转换的实现)...

    向开始学习语言的的同学们推荐下,如果你想学习语言的某个特性,比方说数据库编程,或者网络编程,最好找一个实用的例子,然后不懂的去翻书,去查资料,这样目的性就很强了,个人感觉比对着语法书敲上面的例子效率要 ...

  4. python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  5. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  6. Apifox 学习笔记 - 前置操作

    Apifox 学习笔记 - 前置操作 设置 Content-Length 参考资料 设置 Content-Length Content-Type: application/x-www-form-url ...

  7. lua基础学习笔记-字符串

    lua基础学习笔记-字符串 字符串 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符. 双引号间的一串字符. [[ 与 ]] 间的一串字符. 例: string1 = " ...

  8. memcached高速缓存学习笔记002---telnet操作memcached

    memcached高速缓存学习笔记002---telnet操作memcached 停止memcached  memcached.exe  -d stop 停止 memcached.exe -p 112 ...

  9. Python学习笔记-- 字符串和数字的连接

    Python学习笔记– 字符串和数字的连接 >>> s = 'abc' >>> print s + 1Traceback (most recent call las ...

最新文章

  1. LINUX新手入门-1.装系统
  2. Oracle Study--RAW Device在Oracle下的应用
  3. 《背包问题》 动态规划
  4. 视图需要创建类吗_建筑类的职称需要先评初级吗
  5. TCP 连接的前世今生
  6. xslt的简单使用[xml--html]
  7. Django模板继承
  8. 【SIP协议】学习初学笔记
  9. mod游戏什么意思计算机,MOD运算
  10. python三大器_Python - 三大器 迭代器,生层器,装饰器
  11. java sql xml_Java ResultSet.getSQLXML方法代码示例
  12. android 碎片问题,Android碎片问题
  13. 复杂性思维中文第二版 十、兽群、鸟群和交通堵塞
  14. sql二进制转十进制_了解SQL十进制数据类型
  15. wincc版本升级_【西门子】WinCC V7.4 SP1:常规信息和安装 (较新).pdf
  16. 推荐系统的几种常用算法总结
  17. 图像常用的格式总结及比较
  18. Flink中的Window计算-增量计算全量计算
  19. vue 图片剪裁插件
  20. VMware虚拟机不显示ipv4(无网络)

热门文章

  1. python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...
  2. 请填写红包接口调用ip_SOME/IP的车载网络应用
  3. 数独基本规则_数独解题技巧总结
  4. 区块链课程笔记-第一课哈希算法在加密中的应用
  5. Java程序的运行原理及JVM的启动是多线程的吗?
  6. rsync源目录写法的一点小细节
  7. 利用大数据技术探索“数字公民”创新
  8. vmware克隆server2008R2造成SID冲突
  9. [device]/proc/devices and /dev/
  10. CDN的工作原理以及其中的一些技术-阿里