深入理解PHP字符串函数

开发 后端
PHP是弱类型语言,所以其它类型的数据一般可以直接应用于字符串操作函数里,而自动转换成字符串类型,文章详细的介绍了PHP字符串函数。

我们大家知道无论哪种语言,字符串操作都是一个重要的基础,往往是简单而重要。正像人说话一样,一般有形体(图形界面),有语言(print 字符串?),显然字符串能解释更多的东西。PHP提供了大量的字符串操作函数,功能强大,使用也比较简单, 以下将简单的讲述PHP字符串函数的功能和特性。

PHP字符串函数弱类型

PHP是弱类型语言,所以其它类型的数据一般可以直接应用于字符串操作函数里,而自动转换成字符串类型,进行处理,如:echo substr("1234567", 1, 3);和echo substr(123456,1, 3);是一样的定义一般用双引号或单引号标识一个字符串。比如

  1. $str = "i love u";  
  2. $str = 'i love u'

它者两者是有一些区别的。后者将一切单引号的内容都会当作字符处理;前者则不然。比如

  1. $test = "iwind";  
  2. $str = "i love $test";  
  3. $str1 = 'i love $test';  
  4. echo $str; //将得到 i love iwind  
  5. echo $str1; //将得到 i love $test 

同样的以下两个例子的行为也不一样的:

  1. echo "i love test"; // 将得到 i love est,已经将t视为转义  
  2. echo 'i love test'; // 将得到 i love test 

#T#从而可以简单认为双引号里的内容是经过“解释”过的,单引号的是“所见即所得”的(特殊地,''会被认作一个'')。显而易见,双引号形式的更为灵活一些,当然单引号会适用于一些特殊的场合,这里就不作阐述了。输出PHP里的输出最常用的是echo,print.两者都不是真正的函数,而是语言构造,所以调用时不必用双括号(比如echo("test");print("test")).在输出的时候两者都可以实现赋值:echo $str="test";一方面输出test,一方面把"test"赋给字符串变量 $strprint $str="test";两者除了名字不一样外,还是有其它区别的。print具有返回值,一直返回1,而echo没有,所以echo比print要快一些:

  1. $return = print "test";  
  2. echo $return; // 输出1 

也正因为这个原因,print能应用于复合语句中,而echo不能:

  1. isset($str) or print "str 变量未定义"; // 将输出"str 变量未定义"  
  2. isset($str) or echo "str 变量未定义";// 将提示分析错误  
  3. echo一次可输出多个字符串,而print则不可以:  
  4. echo "i ","love ","iwind"; // 将输出 "i love iwind"  
  5. print "i ","love ","iwind"; // 将提示错误  
  6. echo,print还可以输出被称作“文档句法”的字符串,句法如:  
  7. echo <<< 标签名称 

PHP字符串函数内容标签名称;比如

  1. echo <<< test 
  2. i love iwind  
  3. test; 

要注意的是语句开始和结束的两个标签名称是一样的,且后一个标签名称前不能有空白,即要顶格写。文档句法输出的内容识别变量名称和常用符号,大致形同双引号的作用。输出echo,print外,PHP还提供了一些格式化字符串的函数,比如printf,sprintf,vprintf,vsprintf,在这里不作详解。

责任编辑:田树 来源: 博客
相关推荐

2024-03-04 15:05:37

2018-11-30 10:00:53

Python字符串编程语言

2010-06-28 10:12:01

PHP匿名函数

2021-04-20 23:25:16

执行函数变量

2009-11-24 09:55:44

PHP字符串函数

2018-01-22 17:02:48

Python字符编码ASCII

2021-10-16 17:53:35

Go函数编程

2019-11-05 10:03:08

callback回调函数javascript

2009-11-16 17:20:04

PHP多维数组排序

2011-02-21 09:54:14

PHPPHPUnit

2020-12-16 09:47:01

JavaScript箭头函数开发

2009-12-01 10:38:08

PHP字符串函数

2016-12-08 15:36:59

HashMap数据结构hash函数

2010-06-01 15:25:27

JavaCLASSPATH

2020-07-21 08:26:08

SpringSecurity过滤器

2010-11-26 10:22:28

MySQL字符串比较

2009-11-17 10:55:02

PHP字符串处理函数

2009-11-18 18:02:19

PHP字符串截取

2020-09-23 10:00:26

Redis数据库命令

2017-01-10 08:48:21

点赞
收藏

51CTO技术栈公众号