echo 和 print
在 PHP 中有两个基本的输出方式: echo 和 print。
echo 和 print 区别:
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
注意:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
echo 详解和举例
在PHP中,echo
语句用于将一个或多个字符串输出到页面上。它是PHP中最常用的输出语句之一,通常用于将HTML代码、文本或变量的值输出到浏览器上。
语法:
echo expression1, expression2, ...;
expression1
,expression2
等表示要输出的内容,可以是字符串、变量、或者表达式。
输出字符串:
<?phpecho "Hello, World!";
?>
输出变量的值:
<?php$name = "Alice";echo "Hello, " . $name;
?>
结合HTML输出:
<?php$color = "red";echo "<p style='color: $color;'>This is a red paragraph.</p>";
?>
结合HTML表单:
<form action="submit.php" method="post"><input type="text" name="username"><input type="submit" value="Submit">
</form><?phpecho "Welcome, " . $_POST['username'];
?>
注意事项:
- 多个参数之间可以用逗号
,
分隔,echo
会将它们依次输出,不会自动添加空格或换行符。 echo
并不是一个函数,所以尽管你可以使用括号,但并非必须。- 在PHP中,
print
也可以用来输出字符串,它与echo
类似,但是echo
的执行速度稍快,因此更为常用。
print 详解和举例
在PHP中,print
和echo
都是用来将输出内容显示在页面上的语句,它们之间有一些细微的差别。下面我会详细解释print
语句的用法,并给出一些示例:
语法:
print expression;
expression
表示要输出的内容,可以是字符串、变量、或者表达式。
特点:
print
总是返回1,所以它可以用在表达式中(比如赋值语句),而echo
不能。print
会自动添加一个换行符(\n
)。
输出字符串:
<?phpprint "Hello, World!";
?>
输出变量的值:
<?php$name = "Bob";print "Hello, $name";
?>
结合HTML输出:
<?php$color = "blue";print "<p style='color: $color;'>This is a blue paragraph.</p>";
?>
结合HTML表单:
<form action="submit.php" method="post"><input type="text" name="username"><input type="submit" value="Submit">
</form><?phpprint "Welcome, " . $_POST['username'];
?>
注意事项:
print
语句自带一个换行符,所以如果不需要换行,可以通过echo
来输出。- 虽然
print
在技术上是一个函数,但通常使用不带括号的方式调用。
EOF
EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
使用概述:
- 必须后接分号,否则编译通不过。
- EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
- 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
- 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
- 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
<?php
echo <<<EOF<h1>我的第一个标题</h1><p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>
注意:
-
以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
-
开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
-
位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:
<?php
$name="YAMAHA";
$a= <<<EOF"abc"$name"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
关注我,不迷路,共学习,同进步
关注我,不迷路,共学习,同进步