String 字符串

1. 字符串定义:一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。详见字符串类型详解

字符串语法:

  • 单引号
  • 双引号
  • heredoc语法结构
  • newdoc语法结构

单引号只有两个字符需要转义 单引号(’)反斜杠(\)

echo 'You deleted C:\\*.*?'; //输出: You deleted C:\*.*?
echo 'Arnold once said: "I\'ll be back"';//输出: Arnold once said: "I'll be back"

字符串如果是包在双引号中的将会对特殊的字符进行解析

转移字符
序列含义
\n换行
\r回车
\t水平制表符
\v垂直制表符
\eEscape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
\f换页
\\反斜线
\$美元标记
\"双引号
\[0-7]{1,3}以8进制表达的字符
\x[0-9a-fA-F]{1,2}以十六进制表达的字符

双引号定义字符串的最大特性就是变量会被解析

2. 变量解析

(1)简单规则

当 PHP 解析器遇到一个美元符号($)时,它会和其它很多解析器一样,去组合尽量多的标识以形成一个合法的变量名。可以用花括号来明确变量名的界线。

$juice = "apple";

echo "He drank some $juice juice.".PHP_EOL; //输出:He drank some apple juice.

(2)复杂规则

复杂语法不是因为其语法复杂而得名,而是因为它可以使用复杂的表达式。

注:由于 { 无法被转义,只有 $ 紧挨着 { 时才会被识别。可以用 {\$ 来表达 {$。

$name = '笑话';
echo "我的名字叫{$name}";
//输出:我的名字叫笑话
echo "我的名字叫{ $name}";
//输出:我的名字叫{ 笑话} $name 被当作简单变量解析了其他字符被原样输出

带引号的数组

$student = array(
	array('id' => 1, 'name' => '小花', 'sex' => '女'),
	array('id' => 2, 'name' => '小明', 'sex' => '男'),
);
$studentStr = <<<ABL
姓名:{$student[0]['name']}, 性别:{$student[0]['sex']} <br>
ABL;
echo $studentStr;
//输出: 姓名:小花, 性别:女 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值