快分,为什么单双引号一起用呢, php_manual 代码里的单引号和双引号问题.. 为什么 return "ConcreteClass1" 使用双引号?echo $class2->prefixValue('FOO_') ."\n"; 使用单引号传值,然后又使用双引号换行。不是说要单引号和双引号通一吗?? 我就是越学越不明白了??难到 是两个人一起写的程序??那位高手可以指点一二,先谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 echo $class2->prefixValue('FOO_') ."\n"; 使用单引号传值,然后又使用双引号换行。其实改成这样也可以echo $class2->prefixValue("FOO_") ."\n";并不影响使用.不过,使用单引号的效率要比双引号的效率要高一点,所以在$class2->prefixValue('FOO_')部分就使用了单引号.至于."\n";部分的双引号,是因为如果使用了.'\n';那就不会在页面上出现一个回车符了(这么说可能比较糊涂,楼主可以这么试一下---echo "\n" . "\n" . "\n" . '<br>';echo '\n' . '\n' . '\n' . '<br>';然后运行后看一下网页的源文件就会明白了) to lzkd(浪子快刀)为什么 return "ConcreteClass1" 要使用双引号? 一般情况下使用双引号,但需要单引号配合,楼主在PHP征途中慢慢就会明白 <?php$content = 'abc""def';$content = str_replace('""',//此处用""""就不行,但用"\"\""可以"两个双引号",$content);echo $content;?><br><?php$content = 'abc""def';//此处"abc""def"就不行,但"abc\"\"def"可以$content = str_replace('""',"两个双引号",$content);echo $content;?><br><?php$content = "abc''def";//此处"abc""def"就不行,但"abc\"\"def"可以$content = str_replace("''",//此处''''就不行,但'\'\''可以"两个单引号",$content);echo $content;?><br><?php$content = 'abc\'\'def';//此处'abc''def'就不行$content = str_replace("''",//此处''''就不行,但'\'\''可以"两个单引号",$content);echo $content;?>......还能排列出很多 在php中,用单引号括起的内容被当做字符串常量解释。而用双引号括起的内容被当做“取值表达式”解释,其中的变量名用变量的值替换,文本格式符\t、\r、\n也在这里被替换成对应的ascii码。所以1、对于字符串常量,使用单引号和双引号是一样的。但后者略慢于前者2、对于字符串常量和php变量混合排列的情况,一般使用双引号括起,这样可使可读性加强3、双引号还具有将数值类型转换为字符串类型的功能,这在一些场合中是很有用的$a = 2;var_dump($a);//int(2)var_dump("$a");//string(1) "2"echo ('' == $a) ? 'yes' : 'no'; //yesecho ('' == "$a") ? 'yes' : 'no'; //no to xuzuning(唠叨) echo ('' == $a) ? 'yes' : 'no'; //yesecho ('' == "$a") ? 'yes' : 'no'; //no这2个结果都是 no Windows不能在本地启动apache 2.2 错误代码1. 多表中提取数据,外面大循环提取就提取一行记录,什么原因?在线等! 请做过国外paypal支付接口的朋友进来一下 php中 echo $_GET[page]默认输入什么呢 iis6.0如何安装 php和mysql连接问题 函数参数:true? button的链接问题,很着急啊 php下载图片 图片文件,缓存文件等,有必要分很多文件夹吗? php startup 问题 .如何解决 xajax中输出中文乱码问题?
echo $class2->prefixValue("FOO_") ."\n";并不影响使用.
不过,使用单引号的效率要比双引号的效率要高一点,所以在$class2->prefixValue('FOO_')部分就使用了单引号.
至于."\n";部分的双引号,是因为如果使用了.'\n';那就不会在页面上出现一个回车符了(这么说可能比较糊涂,楼主可以这么试一下---
echo "\n" . "\n" . "\n" . '<br>';
echo '\n' . '\n' . '\n' . '<br>';然后运行后看一下网页的源文件就会明白了
)
$content = 'abc""def';
$content = str_replace('""',//此处用""""就不行,但用"\"\""可以
"两个双引号",$content);
echo $content;
?>
<br>
<?php
$content = 'abc""def';//此处"abc""def"就不行,但"abc\"\"def"可以
$content = str_replace('""',
"两个双引号",$content);
echo $content;
?>
<br>
<?php
$content = "abc''def";//此处"abc""def"就不行,但"abc\"\"def"可以
$content = str_replace("''",//此处''''就不行,但'\'\''可以
"两个单引号",$content);
echo $content;
?>
<br>
<?php
$content = 'abc\'\'def';//此处'abc''def'就不行
$content = str_replace("''",//此处''''就不行,但'\'\''可以
"两个单引号",$content);
echo $content;
?>
......还能排列出很多
所以
1、对于字符串常量,使用单引号和双引号是一样的。但后者略慢于前者
2、对于字符串常量和php变量混合排列的情况,一般使用双引号括起,这样可使可读性加强
3、双引号还具有将数值类型转换为字符串类型的功能,这在一些场合中是很有用的
$a = 2;
var_dump($a);//int(2)
var_dump("$a");//string(1) "2"echo ('' == $a) ? 'yes' : 'no'; //yes
echo ('' == "$a") ? 'yes' : 'no'; //no
echo ('' == "$a") ? 'yes' : 'no'; //no这2个结果都是 no