单引号
双引号
定界符(heredoc syntax)
看见了吧,单引号居然可以用来表示字符串。那么如果我想表示单引号怎么办?和大多数语言一样,使用转义符号吧。即反斜线"\".那么使用单引号和双引号有什么区别呢?我的观点是没有多大区别。唯一的区别就是双引号可以应用更多的转义符。
让我们定界符吧。它的语法是"<<<"。用法是在其后提供一个标识符,然后在标识符后提供字符串,再在字符串后提供此标识符来结尾。例如:
<?php
$str= <<<EOD
Hello, this is an example for HEREDOC Syntax.
Please attention to it.
EOD;
echo $str;
?>
注意,这里的提供的标志符是EOD,中间的是字符串。
2. 字符串的特别之处
从一个例子开始。
假设里你有很长的一段字符串,比如一段话。几个月后,你发现你的需求改变,需要在这段话的某个位置插入一个变量。这个时候如果重新用字符串符肯定是相当复杂的。那么有没有其他的方法呢?请放心,PHP已经考虑到这一点了。那就是花括号的应用。
对于PHP,它一般会按照如下规则解析:
如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名。如果想明示指定名字的结束,用花括号把变量名括起来。例如
<?php
$beer = "Heineken";
echo "$beer"s taste is great"; // works, """ is an invalid character for varnames
echo "He drank some $beers"; // won"t work, "s" is a valid character for varnames
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>
看看第3,4行。第三行的$beer"s其实是$beer 后加“‘s”。因为这里的“’”对于变量命名来说是一个无效字符。但是第4行的$beers就不一样了。所以$beers是无效的。
除了上面的,你还会注意到地5,6行的${beer}以及{$beer}。对于PHP来说它们都是合法的。
但是你必须注意一点,${beer}以及{$beer}的$和{必须是紧挨的。不然{就会当成{字符看待了。