php字符串类型讲解

Posted 小面团

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php字符串类型讲解相关的知识,希望对你有一定的参考价值。

 

PHP 支持八种原始类型(type)。

四种标量类型:

  1. string(字符串)
  2. integer(整型)
  3. float(浮点型,也作 double )
  4. boolean(布尔型)

两种复合类型:

  1. array(数组)
  2. object(对象)

两种特殊类型:

  1. resource(资源)
  2. NULL(空)

 

字符串类型 

一个字符串是一串字符的序列,就像 "Hello world!"。

定义字符串有 3 种方法:

  1. 单引号(\')
  2. 双引号(")
  3. 定界符(<<<)

1.单引号定义

字符串用单引号(\')括起来是定义字符串最简单的方法:

1
2
3
<?php
$var_char = \'码农教程\';
?>

如果字符串中有单引号,那么需要使用反斜线(\\)进行转义:

1
2
3
4
<?php
$var_char = \'字符串中包含\\\'需要转义\';
echo $var_char;     //输出:字符串中包含\'需要转义
?>

提示:如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。换言之反斜线在此只转义 \' 字符而不会转义其他字符。

如果只是定义一个简单的字符串而不需要解析更多的内容,显然用单引号效率更高。

2.双引号定义

如果用双引号(")定义字符串,PHP 懂得更多特殊字符的转义序列:

转义序列说明
\\n 换行
\\r 回车
\\t 水平制表符
\\[/td> 反斜线
\\$ 美元符号
\\" 双引号
\\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符

例子:

1
2
3
<?php
$var_char = "这里有个换行\\n这是第二行文字";
?>

注意该例子中的换行是指文本意义上换行,如果需要在浏览器里显示换行,需要用 nl2br() 函数将 \\n 替换成 <br />。

双引号字符串最重要的一点是其中的变量名会被变量值解析替代:

1
2
3
4
<?php
$var_char = "这是一些文字";
echo "请打印这些文字:$var_char";   //输出:请打印这些文字:这是一些文字
?>

3.定界符定义

定界符定义字符串是使用定界符语法(<<<),并在定界符之后提供一个标识符,然后是被定义的字符串,最后是同样的标识符结束字符串定义。

例子:

1
2
3
4
5
6
7
<?php
$str = <<<EOD
我是用定界符定义字符串的例子
这是其他更多字符
……
EOD;
?>

该例子中,EOD 就是标识符。结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。

注意:结束标识符所在的行不能有任何其他字符(可能除了一个分号 ; 之外),包括行缩进等。

提示:字符串不仅仅指上面例子所示的若干文字字符,也可以把数字定义为字符串,甚至巨大的长文本,这是和数据库中的 char 定义不一样的地方。

 

以上是关于php字符串类型讲解的主要内容,如果未能解决你的问题,请参考以下文章

全面解读php面试-常量及数据类型

PHP中变量类型的问题

PHP 2 语句 数据类型 字符串函数 常量

Python 开发基础-字符串类型讲解(字符串方法)-1

php 字符类型转换(字符串转换)

PHP数据类型