php语法分单引号,双引号么?
本帖最后由 u011523116 于 2013-08-01 20:12:13 编辑
//a.php
<?php
print'AAA'; //用单引号,语法对!
echo'BBB'; //用单引号,语法对!
?>
<?php
//b.php
printf'CCC'; //用单引号,错误!
?>
1.a.php,两句语句都是对,为什么?
php语言,不区分单引号与双引号么?
2.b.php,这句语句是错,为什么?
------解决方案--------------------1.本来就是对的,字符串可以包在单引号对中也可以包在双引号对中
2.printf是函数 这一点是不同于print和echo的 所以要用printf('ccc');
------解决方案--------------------1、在你的例子中没有体现单引号与双引号的区别,在php中,有些情况下单/双引号还是有区别的。
2、a.php中用了print,而b.php中是printf,两个是不同的概念。
手册说:
print 实际上不是一个函数(它是一个语言结构),因此你可以不必使用圆括号来括起它的参数列表
而printf 是一个真正的函数,需要用括号括起来 ,因此你第二个例子中如果写成: printf('CCC') ; 就对了
------解决方案--------------------楼上xu大的例子很犀利
php规定双引号中既可以包含字符串常量 也可以包含变量
在运行的时候 会自动把变量中保存的字符串输出出来
但如果使用单引号 不管包不包含变量 都会把纯粹的字符串输出出来
参照xu大的例子可以很好的理解
------解决方案--------------------本帖最后由 xuzuning 于 2013-08-02 12:53:09 编辑
语言结构 是一个程序块(过程),函数型语言没有对等的成分
你或许可以看做是宏