PHP语言基础语法介绍

PHP(以 PHP 8.x 最新主流版本为例)基础语法速览

PHP 本质上是一门:

  • 动态类型语言
  • 解释执行
  • 强 Web 开发基因
  • 可嵌入 HTML
  • 面向对象 + 函数式混合风格

现在的 PHP 8.x 和早期 PHP 已经差别很大了:

  • 有类型系统
  • 有属性注解
  • 有 match
  • 有 enum
  • 有 JIT
  • 有现代 OOP

1. Hello World

php 复制代码
<?php

echo "Hello World";

PHP 文件通常以:

php 复制代码
<?php

开头。


2. 变量赋值

PHP 变量必须以 $ 开头。

php 复制代码
$name = "Tom";
$age = 18;
$price = 99.5;
$isVip = true;

3. 数据类型

PHP 是动态类型语言。

php 复制代码
$a = 10;        // int
$b = 3.14;      // float
$c = "hello";   // string
$d = true;      // bool
$e = null;      // null

查看类型:

php 复制代码
var_dump($a);

输出:

php 复制代码
int(10)

4. 算数运算

php 复制代码
$a = 10;
$b = 3;

echo $a + $b;   // 13
echo $a - $b;   // 7
echo $a * $b;   // 30
echo $a / $b;   // 3.3333
echo $a % $b;   // 1

5. 逻辑运算

php 复制代码
$a = true;
$b = false;

var_dump($a && $b); // 与
var_dump($a || $b); // 或
var_dump(!$a);      // 非

比较运算:

php 复制代码
$a == $b    // 值相等
$a === $b   // 值和类型都相等(推荐)
$a != $b
$a > $b
$a < $b

6. 字符串

拼接

PHP 用 . 拼接字符串:

php 复制代码
$name = "Tom";

echo "Hello " . $name;

双引号变量解析

php 复制代码
echo "Hello $name";

7. 数组(PHP 最核心的数据结构🔥)

PHP 的数组非常特殊:

它同时兼具:

  • 列表(List)
  • Map(字典)
  • HashMap
  • Ordered Map

本质:

复制代码
PHP Array = 有序 HashMap

8. 列表(List)

php 复制代码
$nums = [1, 2, 3];

echo $nums[0];

添加元素:

php 复制代码
$nums[] = 4;

遍历:

php 复制代码
foreach ($nums as $v) {
    echo $v;
}

9. Map(关联数组)

PHP 没有单独的 Map 类型。

直接用数组实现。

php 复制代码
$user = [
    "name" => "Tom",
    "age" => 18
];

echo $user["name"];

添加:

php 复制代码
$user["city"] = "Tokyo";

10."集合"Set

PHP 没有原生 Set。

通常:

方法1:数组模拟

php 复制代码
$set = [];

$set["apple"] = true;
$set["banana"] = true;

方法2:SplObjectStorage

较少用。

方法3:Laravel Collection(实际开发常用)

现代 PHP 更常使用框架集合。


11. if 判断

php 复制代码
$age = 20;

if ($age >= 18) {
    echo "成年人";
} else {
    echo "未成年";
}

12. match(PHP 8 新特性🔥)

类似 Java switch,但更安全。

php 复制代码
$code = 200;

$msg = match($code) {
    200 => "成功",
    404 => "不存在",
    default => "未知"
};

echo $msg;

特点:

  • 不会自动穿透
  • 返回值
  • 更现代

13. for 循环

php 复制代码
for ($i = 0; $i < 5; $i++) {
    echo $i;
}

14. while 循环

php 复制代码
$i = 0;

while ($i < 5) {
    echo $i;
    $i++;
}

15. foreach(PHP 高频🔥)

PHP 最常用遍历。

遍历列表

php 复制代码
$arr = [1,2,3];

foreach ($arr as $v) {
    echo $v;
}

遍历 Map

php 复制代码
$user = [
    "name" => "Tom",
    "age" => 18
];

foreach ($user as $k => $v) {
    echo $k . ":" . $v;
}

16. 函数

基本函数

php 复制代码
function add($a, $b) {
    return $a + $b;
}

echo add(1, 2);

17. 类型声明(现代 PHP)

PHP 8 强烈推荐写类型。

php 复制代码
function add(int $a, int $b): int {
    return $a + $b;
}

含义:

复制代码
参数是 int
返回值也是 int

18. 默认参数

php 复制代码
function hello($name = "Guest") {
    echo $name;
}

19. 匿名函数

php 复制代码
$add = function($a, $b) {
    return $a + $b;
};

echo $add(1,2);

20. 箭头函数(PHP 7.4+)

php 复制代码
$add = fn($a, $b) => $a + $b;

21. 类(OOP)

基本类

php 复制代码
class User {

    public string $name;

    public function hello() {
        echo "hello";
    }
}

22. 创建对象

php 复制代码
$user = new User();

$user->name = "Tom";

echo $user->name;

PHP 对象访问使用:

php 复制代码
->

不是 .


23. 构造函数

php 复制代码
class User {

    public function __construct(
        public string $name,
        public int $age
    ) {}
}

$user = new User("Tom", 18);

这是 PHP 8 的:

复制代码
构造函数属性提升

非常现代。


24. 继承

php 复制代码
class Animal {
    public function eat() {
        echo "eat";
    }
}

class Dog extends Animal {

}

25. 接口

php 复制代码
interface Flyable {
    public function fly();
}

实现:

php 复制代码
class Bird implements Flyable {

    public function fly() {
        echo "flying";
    }
}

26. Trait(PHP 特色🔥)

PHP 有非常特殊的:

复制代码
Trait(特征)

用于"代码混入"。

类似:

  • Go 组合
  • Rust trait(但不完全一样)
  • mixin

示例:

php 复制代码
trait Logger {

    public function log($msg) {
        echo $msg;
    }
}

class User {

    use Logger;
}

27. null 合并运算符

php 复制代码
$name = $input ?? "默认值";

等价于:

php 复制代码
if ($input != null)

非常常用。


28. 命名空间

php 复制代码
namespace App\Service;

导入:

php 复制代码
use App\User;

29. Composer(PHP生态核心🔥)

现代 PHP 核心不是语言。

而是:

复制代码
Composer

相当于:

语⁠言 包⁠管⁠理
Java Maven
Python pip
Node.js npm
PHP Composer

安装:

bash 复制代码
composer require monolog/monolog

30. PHP 最特殊的地方(重点🔥)


一、PHP Array 是"超级数组"

这是 PHP 最特殊设计。

php 复制代码
$arr = [];

既能:

  • 当 List
  • 当 Map
  • 当 HashMap
  • 当 OrderedMap

这是很多 PHP 灵活性的来源。

但也是性能问题来源。


二、PHP 是"请求级生命周期"

这是和 Java/Go 最大区别之一。

传统 PHP-FPM 模式:

复制代码
请求来
→ 启动 PHP
→ 执行代码
→ 输出结果
→ 销毁所有内存

所以:

  • 不太需要担心内存泄漏
  • 全局变量污染小
  • 状态天然隔离

但:

  • 不适合长连接
  • 不适合常驻内存

三、PHP 可以直接嵌入 HTML

这是 PHP 成功核心。

php 复制代码
<h1>
<?php echo $title; ?>
</h1>

早期 Web 开发革命性。


四、弱类型 + 强类型混合

PHP 现在是:

复制代码
渐进式强类型

你可以:

完全弱类型

php 复制代码
$a = "123" + 1;

也可以:

严格类型

php 复制代码
declare(strict_types=1);

五、Trait 是 PHP 非常特色的语法

很多语言没有。

Trait 解决:

复制代码
单继承代码复用问题

Laravel 大量使用。


六、现代 PHP 已经不是"玩具语言"

现在的:

  • Laravel
  • Symfony
  • Hyperf
  • Swoole

已经非常现代化。

甚至支持:

  • 协程
  • 常驻内存
  • 微服务
  • WebSocket
  • 高并发

七、PHP 与 Go 的最大区别

对⁠比 PHP Go
类⁠型 动⁠态⁠类⁠型 静⁠态⁠类⁠型
编⁠译 解⁠释⁠执⁠行 编⁠译⁠型
并⁠发 弱(传⁠统) 极⁠强
Web 超⁠强 强
部⁠署 简⁠单 更⁠简⁠单
性⁠能 中⁠等 很⁠强
学⁠习⁠成⁠本 低 中
生⁠命⁠周⁠期 请⁠求⁠级 常⁠驻⁠进⁠程
协⁠程 后⁠加 原⁠生 goroutine

八、现代 PHP 技术栈(2026 主流)

现在主流:

复制代码
Nginx
+ PHP-FPM
+ Laravel
+ MySQL/PostgreSQL
+ Redis

或者:

复制代码
Swoole/Hyperf
+ 协程
+ 微服务

九、学习建议(Java程序员视角)

你本身有 Java 基础。

建议重点关注:

第一阶段

  • 变量
  • 数组
  • foreach
  • 函数
  • 类

第二阶段

  • Composer
  • PSR规范
  • MVC
  • Laravel

第三阶段

  • Swoole
  • Hyperf
  • 协程
  • 长连接
  • 微服务

十、一句话理解 PHP

PHP 可以理解成:

复制代码
"为 Web 而生的脚本语言"

而现代 PHP:

复制代码
"拥有脚本开发效率的现代后端语言"
相关推荐
2501_944521599 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理10 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
漠月瑾-西安10 小时前
PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南
网络安全·php·漏洞分析·漏洞修复·远程代码执行
wangchunyu11411 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人12 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
meiying883813 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
@大迁世界14 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper14 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
学逆向的14 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全