PHP8 基础语法入门:从环境搭建到核心概念
PHP 是一门广泛用于 Web 开发的服务器端脚本语言,PHP8 作为主流版本,带来了性能提升、语法简化和新特性支持(如 JIT 编译器、联合类型、match 表达式等)。本文将从环境搭建开始,逐步讲解 PHP8 的基础语法、核心概念和实战示例,帮助零基础开发者快速入门。
环境搭建:让 PHP 跑起来
要运行 PHP 代码,需先搭建 PHP 运行环境。推荐两种方案,根据需求选择:
本地环境(新手推荐:XAMPP/WAMP)
XAMPP(跨平台:Windows/macOS/Linux)和 WAMP(仅 Windows)是集成环境,包含 PHP、Apache(Web 服务器)、MySQL(数据库),一键安装即可使用:
- 下载地址:
- 安装步骤:
- 下载对应系统的安装包,双击运行;
- 安装时默认勾选「Apache」「PHP」「MySQL」(新手无需修改);
- 安装完成后,启动 XAMPP/WAMP(启动成功后,图标为绿色)。
- 验证环境:
- 打开浏览器,访问
http://localhost或http://127.0.0.1; - 若看到 XAMPP/WAMP 的默认页面,说明环境搭建成功;
- 查看 PHP 版本:访问
http://localhost/phpinfo.php(XAMPP 已默认提供此文件),页面会显示 PHP 版本(需为 8.x)。
- 打开浏览器,访问
单个 PHP 文件运行(无需 Web 服务器)
若仅需测试简单 PHP 代码,可直接通过 PHP 命令行(CLI) 运行,无需启动 Apache:
- 确保已安装 PHP(XAMPP 中 PHP 路径通常为
XAMPP/php,需将其添加到系统环境变量); - 打开终端 / 命令提示符,输入
php -v,若显示 PHP 8.x 版本,说明 CLI 可用; - 创建一个
.php文件(如test.php),写入代码后,在终端执行php test.php,即可看到输出结果。
PHP 基础语法:Hello World 与代码结构
第一个 PHP 程序:Hello World
PHP 代码需包裹在 <?php ... ?> 标签中(这是 PHP 的标识,告诉服务器这部分是 PHP 代码)。创建 hello.php 文件,写入以下代码:
1 |
|
运行方式:
- Web 方式:将
hello.php放入 XAMPP 的htdocs目录(路径:XAMPP/htdocs),浏览器访问http://localhost/hello.php,页面显示Hello World!; - CLI 方式:终端进入
hello.php所在目录,执行php hello.php,终端输出Hello World!。
PHP 代码的核心规则
(1)PHP 标签
PHP 代码必须用标签包裹,常用标签有两种:
- 标准标签(推荐):
<?php ... ?>(所有环境都支持,无兼容性问题); - 短标签(需配置开启):
<? ... ?>(不推荐,部分服务器可能禁用)。
注意:若 PHP 文件仅包含 PHP 代码(无 HTML),建议在文件末尾省略 ?>,避免意外输出空格导致 header 错误。
(2)语句结束符:分号 ;
PHP 中每个语句必须以 分号 ; 结束,否则会报错。例如:
1 |
|
(3)注释
注释是代码的说明,不会被执行,PHP 支持三种注释方式:
- 单行注释:
// 注释内容或# 注释内容(推荐用//); - 多行注释:
/* 注释内容 */(不能嵌套)。
1 |
|
(4)大小写敏感
PHP 对关键字、函数名、类名不敏感,但对变量名敏感:
1 |
|
变量与数据类型
1. 变量定义:$ 符号
PHP 中变量必须以 美元符号 $ 开头,后跟变量名,变量名需满足:
- 只能包含字母、数字、下划线
_; - 不能以数字开头;
- 区分大小写(如
$a和$A是不同变量)。
示例:
1 |
|
数据类型(PHP8 支持的核心类型)
PHP 是弱类型语言(无需声明变量类型,会自动根据值推断),但 PHP8 增强了类型支持(如联合类型、严格模式)。核心数据类型分为 8 种,可分为三类:
(1)标量类型(单个值)
| 类型 | 描述 | 示例 |
|---|---|---|
| 整数(int) | 无小数的数字(正数、负数、零) | $num = 100; $neg = -50; |
| 浮点数(float) | 带小数的数字(支持科学计数法) | $pi = 3.14; $sci = 1.2e3;(1.2e3=1200) |
| 字符串(string) | 文本数据(用单引号或双引号包裹) | $str1 = 'Hello'; $str2 = "PHP8"; |
| 布尔值(bool) | 只有两个值:true(真)或 false(假) |
$is_ok = true; $is_error = false; |
(2)复合类型(多个值的集合)
| 类型 | 描述 | 示例 |
|---|---|---|
| 数组(array) | 存储多个值的有序集合(索引数组 / 关联数组) | $arr = [1, 2, 3]; $user = ['name' => 'Alice']; |
| 对象(object) | 类的实例(面向对象编程时使用) | $obj = new stdClass(); $obj->name = 'Bob'; |
(3)特殊类型
| 类型 | 描述 | 示例 |
|---|---|---|
| NULL | 表示变量无值(需显式赋值 null) |
$var = null; |
| 资源(resource) | 表示外部资源(如文件句柄、数据库连接) | $file = fopen('test.txt', 'r');(后续讲解) |
常用数据类型操作示例
(1)字符串(string)
字符串可用 单引号 ' 或 双引号 " 包裹,区别在于:
- 单引号:不解析变量和转义字符(仅
\'除外),性能更高; - 双引号:会解析变量(变量名会替换为值)和转义字符(如
\n换行、\t制表符)。
示例:
1 |
|
(2)数组(array)
PHP 数组支持两种形式:索引数组(按数字索引,默认从 0 开始)和 关联数组(按自定义键名,键名可为字符串或数字),用 [] 或 array() 定义(推荐 [],更简洁)。
示例:
1 |
|
(3)NULL 类型
null 表示变量 “无值”,只有一种值 null(不区分大小写,但推荐小写)。以下情况变量为 null:
- 显式赋值
$var = null;; - 变量未定义(但直接使用未定义变量会报 Notice 警告);
- 用
unset()函数销毁变量后。
示例:
1 |
|
运算符:实现数据计算与逻辑判断
PHP 支持多种运算符,按功能可分为:算术运算符、赋值运算符、比较运算符、逻辑运算符等,以下是常用运算符的示例:
算术运算符(用于数值计算)
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
+ |
加法 | $a=5; $b=3; $a+$b |
8 |
- |
减法 | $a-$b |
2 |
* |
乘法 | $a*$b |
15 |
/ |
除法 | $a/$b |
1.666… |
% |
取余(模) | $a%$b |
2(5÷3 余 2) |
++ |
自增 | $a++;(后增) |
$a 变为 6 |
-- |
自减 | --$b;(前减) |
$b 变为 2 |
示例:
1 |
|
赋值运算符(给变量赋值)
基础赋值:$var = value(将右边的值赋给左边的变量);
复合赋值(简化代码):将 “运算 + 赋值” 合并,如 $a += $b 等价于 $a = $a + $b。
常用复合赋值运算符:
| 运算符 | 等价写法 | 示例 |
|---|---|---|
+= |
$a = $a + $b |
$a=5; $a+=3; → 8 |
-= |
$a = $a - $b |
$a=5; $a-=3; → 2 |
*= |
$a = $a * $b |
$a=5; $a*=3; → 15 |
/= |
$a = $a / $b |
$a=6; $a/=3; → 2 |
.= |
$a = $a . $b(字符串拼接) |
$a="He"; $a.="llo"; → “Hello” |
示例:
1 |
|
比较运算符(判断两个值的关系)
用于比较两个值,返回布尔值 true 或 false,常用于条件判断(如 if 语句)。
常用比较运算符:
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
== |
等于(值相等,类型可转换) | 5 == "5" |
true |
=== |
全等(值和类型都相等) | 5 === "5" |
false |
!= |
不等于(值不等,类型可转换) | 5 != "5" |
false |
!== |
不全等(值或类型不等) | 5 !== "5" |
true |
> |
大于 | 10 > 5 |
true |
< |
小于 | 10 < 5 |
false |
>= |
大于等于 | 10 >= 10 |
true |
<= |
小于等于 | 10 <= 5 |
false |
注意:推荐用 === 和 !==(全等 / 不全等),避免类型自动转换导致的意外结果(如 0 == "false" 会返回 true,但 0 === "false" 返回 false)。
示例:
1 |
|