博客列表 >PHP中对字符串的处理规则的总结--2018年4月11日22时30分

PHP中对字符串的处理规则的总结--2018年4月11日22时30分

雪风02的博客
雪风02的博客原创
2018年04月12日 00:10:35613浏览

  在PHP开发中,了解PHP对字符串的处理规则很重要,一个字符串可以用四种方式表达:

  • 单引号

  • 双引号

  • heredoc语法

  • nowdoc语法

下面用代码来展示:

实例

<?php 
/*单引号
*定义一个字符串最简单的方法就是使用单引号
*单引号里面的变量和特殊字符都不会被转义
*输出单引号本身需要在前面加\反斜线   */
$me = 'feng';
$you = '$me and \n';
$he = 'I\'m feng';

echo $me;   //结果为feng
echo '<br>';
echo $you;  //结果为$me and \n
echo '<br>';
echo $he;   //结果为I'm feng

echo '<hr color = red>';

/*
*双引号
*用双引号定义的字符串最重要的特征是变量会被转义
*字符串如果被包围在双引号中,PHP将对字符串中的
*变量以及特殊字符进行转义  */
$me = "feng";
$you = "{$me} and \n";  //变量可用花括号隔开
$he = "I\'m feng";

echo $me;  //结果为feng
echo '<br>';
echo $you;  //结果为feng and (空格)
echo '<br>';
echo $he;   //结果为I\'m feng

echo '<hr color = red>';

/*Heredoc结构
*按照语法要求编写,heredoc结构中单引号不会被转义,但是变量将被替换特殊字符将被转义,和双引号作用相似*/
$heredoc = <<< HEREDOC
{$me}是一个新的PHPer,誓将"code"进行到底!\n
坚持到底!
HEREDOC;

echo $heredoc;  //结果为feng是一个新的PHPer,誓将"code"进行到底! 坚持到底!
 /**
  * 为什么没有看到\n的换行效果呢?是不是没有转义呢?事实上已经自动转义了
  * 因为你已经看不到\n,它在页面中显示一个空格。如果想在页面中看到换行效果
  * 可以使用函数 nl2br()
  */
echo nl2br($heredoc);  //结果为feng是一个新的PHPer,誓将"code"进行到底!

                       //坚持到底!
echo '<hr color = red>';


/*Nowdoc 结构
*按照语法编写,nowdoc结构类似单引号,变量和特殊字符都不会被转义。
*/
$nowdoc = <<< 'NOWDOC'
	<h3>$me</h3> \r\n 'www.php.cn'
NOWDOC;

echo $nowdoc;   //结果为  $me
                //\r\n 'www.php.cn'

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果如下图:

1523462531(1).jpg

运行结果如预期,充分表明了PHP中字符串的处理规则。


总结:

  1. 利用单引号进行处理的字符串,将不会转义特殊字符和变量。

  2. 利用双引号处理的字符串,将会对变量和特殊字符进行转义。

  3. 利用反斜杠\可以转义特殊字符本身。

  4. 如果需要大段使用单引号或者双引号处理的字符串,可以使用heredoc和nowdoc语法,按照语法要求编写。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议