PHP最常用输出语句是echo和print,其中echo更常用:它是语言结构、支持多参数、双引号可插值;print仅返回1且不支持多参数;两者均不自动换行,需手动加\n或;输出需注意HTML上下文与标签闭合。

PHP 输出内容最常用的是 echo 和 print
绝大多数初学者第一个要写的 PHP 代码就是输出 “Hello World”,而实现它最直接的方式就是用 echo。它不是函数,是语言结构,所以括号可加可不加:echo "hello"; 和 echo("hello"); 都合法。print 功能几乎一样,但只能返回整数 1(用于表达式上下文),实际开发中基本都用 echo。
注意点:
-
echo支持多个参数(用逗号分隔),print不支持 ——echo "a", "b", $c;是合法的,print "a", "b";会报错Parse error: syntax error - 两者都不换行,想换行得手动加
\n或 HTML 的,比如:echo "hello\n";(命令行)或echo "hello(浏览器)
"; - 输出变量时,双引号里可直接插值:
echo "Name: $name";;单引号则原样输出:echo 'Name: $name';→ 显示Name: $name
在网页中显示 PHP 输出要注意 HTML 上下文
PHP 脚本默认运行在服务器端,输出的内容最终由浏览器渲染。如果只写 echo "hello";,浏览器看到的就是纯文本,没有 HTML 结构。要让它像网页一样显示,得包裹在 HTML 标签里:
Welcome"; echo "Current time: " . date('Y-m-d H:i:s') . "
立即学习“PHP免费学习笔记(深入)”;
"; ?>
常见误区:
初阶PHP Apache MySQL网站设计来自作者多年学习、应用和讲授PHP的经验与体会,是专为学习PHP+MySQL数据库编程人员编与的入门教材。在最后二章设计了2个贴近实际应用的典型案例:留言本系统和论坛系统,每个案例先介绍开发思路、步骤,再给出全部源代码,使所学内容与实际应用紧密结合,特别是论坛系统将全书的案例串讲起来,力求使读者学到最贴近应用前沿的知识和技能。
- 混用 PHP 和 HTML 时忘了关闭 PHP 标签 ——
没问题,但漏掉...?>会导致后续 HTML 被当作文本输出 - 输出含特殊字符的内容(如
、&)没转义,导致 HTML 解析异常 —— 应该用htmlspecialchars($str)处理用户输入再输出 - 在 HTML 属性里直接拼接变量,比如
echo 'link';,若$url含双引号或&,会破坏标签结构
调试时用 var_dump() 和 print_r() 查看变量内容
初学者常遇到“变量明明有值,却看不到输出”,这时候别只盯着 echo。数组、对象、null、布尔值这些用 echo 输出效果差(比如 echo []; 什么也不显示,echo true; 输出 1)。
推荐组合:
-
var_dump($var):显示类型 + 值 + 长度,适合调试,但输出格式较“糙”,建议配合标签美化: -
print_r($var, true):第二个参数设为true可返回字符串而非直接输出,方便记录或进一步处理;不带true时直接打印,适合快速看数组结构 - 简单值检查可用
echo gettype($var), ': ', $var;,避免误判空数组或false为“没输出”
CLI(命令行)和 Web 环境输出行为有差异
同一个 echo "test"; 在终端和浏览器里表现不同:CLI 下直接输出并换行(除非你禁用了自动换行),Web 下输出后是否换行取决于你有没有加 或 CSS 控制。
关键区别:
- CLI 模式不经过 Web 服务器,不解析 HTML,
就是普通文本;Web 模式下浏览器会渲染 HTML 标签 - CLI 中
echo输出立即可见,Web 中可能受输出缓冲影响(ob_start()开启后需ob_flush()才能实时看到) - CLI 错误默认输出到终端,Web 错误默认不显示(需开启
display_errors = On并设置error_reporting) - 用
php -S localhost:8000启动内置服务器时,仍属 Web 环境,不是 CLI —— 别指望它像终端一样逐行响应










