字符串可以用三种字面上的方法定义。

双引号
定界符
指定一个简单字符串的最简单的方法是用单引号(字符 ')括起来。

1.直接输出字符:

例如7-1: echo '我是PHP中文社区的学员';

2.输出变量

例如7-2:$str = '我是PHP中文社区的学员';   echo $str;

3.使用转义符:

  我们知道,用单引号定义字符串,那么如果我们的字符串中刚好也有单引号岂不要引起PHP混乱吗?这种情况要怎么解决呢?

这就要在它的前面使用转义符号“\”。例如7-3:

 


PHP代码:
<?php
echo '我是\'PHP中文社区\'的学员<br>';
$str = '我是\'PHP中文社区\'的学员<br>';
echo $str;
echo '< language=java>alert(\'PHP中文社区网址是www.phpNet.cn\')</>';
?>

呵呵,看到了吧,上面的代码还会输出HTML代码和Java代码。<br>是HTML中的换行标记。

提个问题:要用echo输出路径 C:\windows\system32 怎么做?你试试看。

4.使用双引号

双引号也能定义字符串,那么和单引号有什么区别吗?看例子7-4:

$url = 'www.phpNet.cn';

echo "PHP中文社区的网址是$url";

结果会输出:PHP中文社区的网址是www.phpNet.cn

用双引号定义的字符串,其中的变量会被变量的值替换,你把上面的双引号换成单引号试试看。

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


表格 7-1. 转义字符

序列含义
\n                           换行(LF 或 ASCII 字符 0x0A(10))
\r                            回车(CR 或 ASCII 字符 0x0D(13))
\t                            水平制表符(HT 或 ASCII 字符 0x09(9))
\\                            反斜线
\$                           美元符号
\"                            双引号
\[0-7]{1,3}            此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2}  此正则表达式序列匹配一个用十六进制符号表示的字符

 

单就处理字符串而言,使用单引号要比使用双引号速度要快,所以你要在你的程序中选择适当的引号。


5.连接字符串

半角句号“.”是字符串连接符,可以把两个字符串连接成一个字符串。例如7-5:



PHP代码:
<?php
$str = 'PHP中文社区地址是';
$url = 'www.phpNet.cn';
$txt = $str.$url;
echo $txt.'<br>';
echo $str.$url;
?>

技巧:我们可以使用字符串连接符累加字串。例如7-6:

 


PHP代码:
<?php
$str = 'PHP中文社区地址是';
$str .= 'www.phpNet.cn';
echo $str;
?>

运行后输出:PHP中文社区地址是www.phpNet.cn


  第一句我们给$str赋值,$str表示字串"PHP中文社区地址是",第二句表示在$str的值上累加字串"www.phpNet.cn",所以,$str最后表示字串"PHP中文社区地址是www.phpNet.cn"。


你知道以下代码运行后将会输出什么吗:$add="中国";   $add.="北京";   $add.="奥运会";   echo $add;

6.使用定界符

  如果我们有大段大段的HTML代码或JS代码要输出有没有更好的办法呢?有,使用定界语法(“<<<”)。例如7-7:

定界符字符串例子


PHP代码:
<?php
$url = 'www.phpNet.cn';
$str = <<<EOD
......
我已经记住了PHP中文社区的网址是$url.
......
EOD;
echo $str;
?>

  定界符中的变量会被解析,比如其中的$url会被它的值http://www.phpnet.cn/替换。

  包含在<<<EOD和EOD中的部分被定义为字符串。定界标识符可以自己定义,但必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。结束标识符必须从行的第一列开始。比如上面的EOD你也可以换成 EOF。

7.使用花括号

  如果遇到这种情况,你认为PHP会作怎样处理呢?

  $num=3;
  echo '你知道这个厂家提供几A服务吗?';
  echo "经查询,这个厂家提供$numA服务";

  运行这段程序,你认为会输出什么呢?是的,会出现错误。为什么$num不能被它的值3替换呢?这是因为PHP会尽最大限度的匹配变量名,它 把$numA作为变量而不是$num,而$numA又没有赋值,所以会出现错误。那么怎样处理才能输出我们想要的结果呢?使用花括号{}。写成如下形式:

  echo "经查询,这个厂家提供{$num}A服务";

  echo "经查询,这个厂家提供${num}A服务";

转载于:https://www.cnblogs.com/7bus/archive/2011/01/07/1929905.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值