ESC
输入关键词搜索文章
目录

PHP 基础

本页为 PHP 入门速查,覆盖语法基础、数据类型、数组、控制结构和函数。完整的语法细节和 HTTP 处理见 PHP 语法详解,PHP 8.x 新特性见 PHP 8.x 新特性

PHP 嵌入 HTML

PHP 代码用 <?php ... ?> 标签包裹,由服务端解释后输出到页面:

<?php
$greeting = "Hello, PHP!";
echo "<p>{$greeting}</p>";
?>

短标签 <?= expr ?> 等价于 <?php echo expr; ?>,在所有 PHP 版本中默认可用。

数据类型

PHP 8.x 支持以下标量和复合类型:

类型示例说明
int42整型
float3.14浮点型
string"hello"字符串
booltrue / false布尔型
array[1, 2, 3]数组(有序映射)
objectnew stdClass()对象
nullnull空值
enumenum Color: string枚举(PHP 8.1+)

var_dump($x) 查看变量的类型和值,gettype($x) 获取类型字符串。

变量

PHP 变量以 $ 开头,弱类型,无需声明类型:

$name = "Alice";     // string
$age = 25;           // int
$pi = 3.14;          // float
$active = true;      // bool

四种作用域:local(函数内)、global(函数内用 global 关键字访问)、static(函数调用间保留)、parameter(函数参数)。

数组

PHP 的数组本质是有序映射(ordered map),同时充当列表、字典和数据结构。

索引数组

$fruits = ["apple", "banana", "cherry"];
echo $fruits[0]; // apple

$fruits[] = "date"; // 追加
count($fruits); // 4

关联数组

$person = [
    "name" => "Alice",
    "age"  => 25,
    "city" => "Xi'an",
];

echo $person["name"]; // Alice

遍历

// 索引数组
for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i];
}

// 关联数组
foreach ($person as $key => $value) {
    echo "{$key}: {$value}";
}

常用数组函数

控制结构

// if / elseif / else
if ($score >= 90) {
    echo "A";
} elseif ($score >= 60) {
    echo "B";
} else {
    echo "C";
}

// match 表达式(PHP 8.0+,严格比较,返回值)
$status = match($code) {
    200 => "OK",
    404 => "Not Found",
    default => "Unknown",
};

// 循环
for ($i = 0; $i < 10; $i++) { ... }
while ($cond) { ... }
do { ... } while ($cond);
foreach ($arr as $item) { ... }

函数

// 基本函数
function add(int $a, int $b): int {
    return $a + $b;
}

// 默认参数
function greet(string $name, string $greeting = "Hello"): string {
    return "{$greeting}, {$name}!";
}

// 可变参数
function sum(int ...$nums): int {
    return array_sum($nums);
}

// PHP 8.0+: Named Arguments
greet(name: "Alice", greeting: "Bonjour");

字符串

$name = "World";

// 双引号:变量插值
echo "Hello, {$name}!";    // Hello, World!

// 单引号:原样输出
echo 'Hello, $name!';      // Hello, $name!

// 常用函数
strlen("hello");            // 5
strpos("hello world", "world"); // 6
substr("hello", 0, 3);     // "hel"
strtolower("Hello");        // "hello"
strtoupper("hello");        // "HELLO"
trim("  hi  ");             // "hi"
str_replace("a", "b", "banana"); // "bbnbnb"

include / require

// 包含文件(文件不存在时 warning)
include "header.php";

// 强制包含(文件不存在时 fatal error)
require "config.php";

// 建议:优先用 require_once / include_once 避免重复包含
require_once "database.php";

下一步