PHP向页面输出内容有两个语句:echo 和 print,在一段PHP程序里,如果我们将内容进行主动输出,页面上不会显示任何内容。
echo 和 print的区别
echo 可以一次输出一个或多个字符串,没有返回值。
print 一次只能输出一个字符串且有返回值1。
echo 的速度比print快。
用法
echo 和 print 都是一个语言结构,可以用(),也可以不用,echo 或 echo(),print 或 print()。
两者既可以输出字符串(可以包含HTML文档),也可以变量。
输出字符串示例:
<?php
echo "I am Tommy";//输出字符串
echo "<h3>Hello guys!</h3>";//输出带HTML文档的字符串
echo "Hi"," Tommy"," !";//echo 可以一次输出多个字符串,中间用『,』或者『.』连接,具体两者的区别我们以后会讨论,只提一下逗号比点的速度要快。想提前了解的请访问https://segmentfault.com/a/1190000004679782
print "I am Tommy";//输出字符串
echo "<h3>Hello guys!</h3>";//输出带HTML文档的字符串,但是print不能一次输出多个字符串。
?>
输出变量示例:
<?php
$test1 = "Happy learnning";
$test2 = "Fllowe Me";
echo "I want to tell you that " , $test1;//print不可以这么写,输出 I want to tell you that Happy learnning
echo "<br>";//输出一个br标签,进行换行
echo "Just {$test2}";//输出 Just Fllowe Me
print "Just {$test2}";//输出 Just Fllowe Me
?>
输出语句中单引号和双引号的区别
在PHP中,字符串的定义可以使用英文单引号 ,也可以使用英文双引号 。
但是必须使用同一种单或双引号来定义字符串,如:Hello World和Hello World为非法的字符串定义。
单引号和双引号到底有啥区别呢?
PHP允许我们在双引号串中直接包含字串变量。
而单引号串中的内容总被认为是普通字符,因此单引号中的内容不会被转义效率更高。
比如:
<?php
$str='hello';
echo "str is $str"; //运行结果: str is hello
echo 'str is $str'; //运行结果: str is $str
?>
php中,双引号中的变量($var)和特殊字符(\r\n之类)会被转义,单引号中的内容不会被转义(所以效率更高)。
使用上的话,
我以前很喜欢在sql字符串里这样写$sql = "SELECT * FROM table WHERE id = $id"
这样里面的$id可以被转义,单引号就不行。
在JavaScript中 单引号 和双引号没有区别,只要成对使用就行。
我在JavaScript 中使用单引号大多是因为 Javascript 和 HTML 打交道比较多,输出 HTML 片段的时候不需要转义 HTML 中属性的引号。
总之,看实际情况来用啦,怎么方便怎么使用。