PHP中字符串定义的三种方式


三种定义方式

  1. 单引号
  2. 双引号
  3. 定界符<<<

单引号与双引号的区别:

$name='张三';
echo $name;

输出 张三

$name="张三";
echo $name;

输出 张三

输出结果一样

区别:

$name='张三';
echo "我的姓名$name";//普通的字符串+变量名

输出 我的姓名:张三(输出结果正常)

$name='张三';
echo '我的姓名$name';//普通的字符串+变量名

输出 我的姓名$name;

得出:输出语句中,双引号里有变量名就会输出变量名,但是单引号会原封不动的输出变量名
注:在平常情况下双引号和单引号是一样的。
如果在echo中,输出变量名一定要使用双引号。

变量名在字符串中的一些常见问题
如:

输出 我的姓名为张三,性别为男,年龄为20

//如果输出语句改为
echo "我的姓名为:$name性别为:$sex年龄为:$age";

n a m e 和 性 别 之 间 没 有 空 格 , 也 没 有 用 符 号 作 为 分 格 , 连 接 在 了 一 起 将 会 报 错 , 系 统 认 为 name和性别之间没有空格,也没有用符号作为分格,连接在了一起将会报错,系统认为 namename和性别是变量名

解决这种情况:使用变量时加一对{},在里边嵌入变量名,目的标示这是变量名

//结果如下
echo "我的姓名为:{$name},性别为:{$sex},年龄为:{$age}";
//也可以使用.连接变量为和字符串结果一样(根据自己喜欢连接变量和字符串)
echo "我的姓名:".$name.",性别为".$sex.",年龄为:".$age;

定界符
我们平常都是这样写

$str='
1 2
3 4
5 6
' echo $str;

但是时刻都要注意’’,"",防止报错

所以使用定界符的原因如下:

  1. php定界符的作用就是按照原样,包括换格式什么的,输出在其内部的东西;
  2. 在php定界符中的任何特殊字符都不不需要转义;
  3. php定界符中php变量会正常的用其值代替。
    注:一般情况下定界符解决字符串过长
    也可以把变量名嵌入到里边
    也可以嵌入js

定界符格式

<<

下面是使用定界符的例子:

$str= <<
	
		1
		2
	
	
		3
		4
	
	
		5
		6
	

eof;
echo $str;

定界符里也可以插入js

$name='张三';
$str = <<
    alert("{$name}你好");

STR;
echo $str;

输出结果: 弹出 张三你好

定界符里也可以插入变量

$a = 5;
$b = 7;
$str= <<
	
		1
		2
	
	
		{$a}
		{$b}
	
	
		5
		6
	

eof;
echo $str;

使用定界符所注意的问题:
首先在<<<之后的字符EOF是自己定义的,随便什么都可以(AAA都可以),但是结尾处的字符一定要和它是成对出现的,就像{}这样的。
其次,结尾一行,一定要另起一行,并且改行除了EOF;这个定界符结尾除标识之外不能有任何其他字符,前后都不能有,包括空格,如果在本行最前或者最后出现空格,将会收到错误信息。

你可能感兴趣的:(PHP中字符串定义的三种方式)