echo和print语句
两者的区别:
1、echo - 可以输出一个或多个字符串
2、print - 只允许输出一个字符串,返回值总是为1
echo输出的速度比print快,echo没有返回值,print有返回值1
echo语句
echo是一个语言结构,使用的时候可以不加括号,也可以加上括号:echo和echo()
显示字符串
使用echo命令输出字符串,字符串可以包含HTML标签:
- <?php
- echo "<h2>PHP 很有趣!</h2>";
- echo "Hello world!<br>";
- echo "我要学 PHP!<br>";
- echo "这是一个", "字符串,", "使用了", "多个", "参数。";
- ?>
显示变量
使用echo命令输出变量和字符串:
- <?php
- $txt1="学习 PHP";
- $txt2="RUNOOB.COM";
- $cars=array("Volvo","BMW","Toyota");
- echo $txt1;
- echo "<br>";
- echo "在 $txt2 学习 PHP ";
- echo "<br>";
- echo "我车的品牌是 {$cars[0]}";
- ?>
print语句
print 同样是一个语言结构,可以使用括号,也可以不适用括号:print或print()
显示字符串
使用print命令输出字符串,字符串可以包含HTML标签:
- <?php
- print "<h2>PHP 很有趣!</h2>";
- print "Hello world!<br>";
- print "我要学习 PHP!";
- ?>
显示变量
使用print命令输出变量和字符串:
- <?php
- $txt1="学习 PHP";
- $txt2="RUNOOB.COM";
- $cars=array("Volvo","BMW","Toyota");
- print $txt1;
- print "<br>";
- print "在 $txt2 学习 PHP ";
- print "<br>";
- print "我车的品牌是 {$cars[0]}";
- ?>
PHP EOF(heredoc)的使用
PHP EOF(heredoc)是一种在命令行shell(如sh、bash)和程序语言(想Perl、PHP以及Ruby)里面定义一个字符串的方法。比如这样:
- <?php
- $test = <<<EOF
- <h1>我的第一个标题</h1>
- <p>我的第一个段落。</p>
- EOF;
- echo $test;
- // 结束需要独立一行且前后不能空格
- ?>
- <?php
- echo " <h1>我的第一个标题</h1>";
- echo " <h2>我的第二个标题</h2>";
- echo " <h3>我的第三个标题</h3>";
- echo " <p>我的第一个段落。</p>";
- // 结束需要独立一行且前后不能空格
- ?>
以上两段代码效果一样,但是第二段内容多的话就显的不易阅读,这让我想到了es6中的模板字符串``
,和EOF(heredoc)作用一样
注意
1. 每行代码必须后接分号,否则编译通不过。
2. EOF 可以用任意其它字符代替,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只需保证结束标识与开始标识一致。
3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义
6.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 .
或 ,
来拼接,如下:
- <?php
- $name="runoob";
- $a= <<<EOF
- "abc"$name
- "123"
- EOF;
- // 结束需要独立一行且前后不能空格
- echo $a;
- ?>
