Skip to content

附录:PHP 速查手册

1. 核心语法速记(按使用频率排序,附示例)

输出语句

php
<?php
echo "Hello, PHP!";           // 输出字符串
echo $var1, $var2;            // 输出多个变量
print "Hello, PHP!";          // 输出字符串,返回 1
print_r($array);              // 打印数组
var_dump($var);               // 输出变量类型和值
?>

变量与常量

php
<?php
$var = "value";               // 定义变量
define('CONSTANT', 'value');  // 定义常量
const CONSTANT = 'value';     // 定义常量(PHP 5.3+)
?>

数据类型

php
<?php
$string = "Hello";            // 字符串
$int = 123;                   // 整数
$float = 123.45;              // 浮点数
$bool = true;                 // 布尔值
$array = [1, 2, 3];           // 数组
$null = null;                 // null
?>

条件语句

php
<?php
if ($condition) {
    // 代码
} elseif ($condition2) {
    // 代码
} else {
    // 代码
}

switch ($var) {
    case 'value1':
        // 代码
        break;
    case 'value2':
        // 代码
        break;
    default:
        // 代码
}
?>

循环语句

php
<?php
for ($i = 0; $i < 10; $i++) {
    // 代码
}

while ($condition) {
    // 代码
}

foreach ($array as $value) {
    // 代码
}

foreach ($array as $key => $value) {
    // 代码
}
?>

数组操作

php
<?php
$arr = [1, 2, 3];                    // 创建数组
$arr[] = 4;                          // 添加元素
$arr['key'] = 'value';               // 添加关联元素
count($arr);                         // 数组长度
in_array('value', $arr);             // 检查元素是否存在
array_push($arr, 'value');           // 添加元素到末尾
array_pop($arr);                     // 删除末尾元素
array_merge($arr1, $arr2);           // 合并数组
sort($arr);                          // 排序
?>

字符串操作

php
<?php
strlen($str);                        // 字符串长度
strpos($str, 'search');              // 查找位置
substr($str, 0, 5);                  // 截取字符串
str_replace('old', 'new', $str);     // 替换字符串
explode(',', $str);                  // 分割字符串
implode(',', $arr);                  // 连接数组为字符串
trim($str);                          // 去除首尾空格
strtolower($str);                    // 转小写
strtoupper($str);                    // 转大写
htmlspecialchars($str);              // 转义 HTML
?>

2. 常用工具快捷键汇总

VS Code 快捷键

功能Windows/LinuxMac
保存Ctrl + SCmd + S
全选Ctrl + ACmd + A
复制Ctrl + CCmd + C
粘贴Ctrl + VCmd + V
撤销Ctrl + ZCmd + Z
重做Ctrl + YCmd + Shift + Z
查找Ctrl + FCmd + F
替换Ctrl + HCmd + Option + F
注释Ctrl + /Cmd + /
格式化代码Shift + Alt + FShift + Option + F

PhpStorm 快捷键

功能Windows/LinuxMac
运行Shift + F10Control + R
调试Shift + F9Control + D
查找文件Ctrl + Shift + NCmd + Shift + O
查找类Ctrl + NCmd + O
查找操作Ctrl + Shift + ACmd + Shift + A
重命名Shift + F6Shift + F6

3. 数据库增删改查模板

连接数据库

php
<?php
$conn = mysqli_connect('localhost', 'root', 'password', 'database');

if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

mysqli_set_charset($conn, 'utf8mb4');
?>

查询数据

php
<?php
$sql = "SELECT * FROM table_name WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {
    echo $row['column_name'];
}

$stmt->close();
?>

插入数据

php
<?php
$sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ss', $value1, $value2);

if ($stmt->execute()) {
    echo "插入成功,ID: " . $stmt->insert_id;
} else {
    echo "插入失败: " . $stmt->error;
}

$stmt->close();
?>

更新数据

php
<?php
$sql = "UPDATE table_name SET column1 = ?, column2 = ? WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ssi', $value1, $value2, $id);

if ($stmt->execute()) {
    echo "更新成功,影响行数: " . $stmt->affected_rows;
} else {
    echo "更新失败: " . $stmt->error;
}

$stmt->close();
?>

删除数据

php
<?php
$sql = "DELETE FROM table_name WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $id);

if ($stmt->execute()) {
    echo "删除成功,影响行数: " . $stmt->affected_rows;
} else {
    echo "删除失败: " . $stmt->error;
}

$stmt->close();
?>

4. 表单接收模板

接收 POST 数据

php
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = $_POST['username'] ?? '';
    $password = $_POST['password'] ?? '';
    
    // 验证数据
    if (empty($username)) {
        $errors[] = '用户名不能为空';
    }
    
    if (empty($password)) {
        $errors[] = '密码不能为空';
    }
    
    // 处理数据
    if (empty($errors)) {
        // 处理逻辑...
    }
}
?>

接收 GET 数据

php
<?php
$id = $_GET['id'] ?? 0;
$page = $_GET['page'] ?? 1;

// 验证数据
$id = (int)$id;
$page = (int)$page;

if ($id <= 0) {
    die('参数错误');
}
?>

5. 登录模板

登录处理

php
<?php
session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = $_POST['username'] ?? '';
    $password = $_POST['password'] ?? '';
    
    // 验证用户(查询数据库)
    $conn = mysqli_connect('localhost', 'root', '', 'database');
    $sql = "SELECT * FROM users WHERE username = ?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param('s', $username);
    $stmt->execute();
    $result = $stmt->get_result();
    
    if ($result->num_rows > 0) {
        $user = $result->fetch_assoc();
        if (password_verify($password, $user['password'])) {
            // 登录成功
            $_SESSION['user_id'] = $user['id'];
            $_SESSION['username'] = $user['username'];
            header('Location: dashboard.php');
            exit;
        } else {
            $error = '密码错误';
        }
    } else {
        $error = '用户名不存在';
    }
    
    $stmt->close();
    $conn->close();
}
?>

检查登录状态

php
<?php
session_start();

if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit;
}

// 已登录,显示页面内容
echo "欢迎," . $_SESSION['username'];
?>

退出登录

php
<?php
session_start();
session_destroy();
header('Location: login.php');
exit;
?>

6. 上传文件模板

文件上传处理

php
<?php
if (isset($_POST['upload'])) {
    $file = $_FILES['file'];
    
    // 检查错误
    if ($file['error'] !== UPLOAD_ERR_OK) {
        die('上传失败');
    }
    
    // 检查文件大小
    $max_size = 5 * 1024 * 1024; // 5MB
    if ($file['size'] > $max_size) {
        die('文件太大');
    }
    
    // 检查文件类型
    $allowed_types = ['image/jpeg', 'image/png', 'image/gif'];
    if (!in_array($file['type'], $allowed_types)) {
        die('不允许的文件类型');
    }
    
    // 检查文件扩展名
    $allowed_extensions = ['jpg', 'jpeg', 'png', 'gif'];
    $extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
    if (!in_array($extension, $allowed_extensions)) {
        die('不允许的文件扩展名');
    }
    
    // 生成新文件名
    $new_filename = uniqid() . '.' . $extension;
    $upload_dir = 'uploads/';
    $target_file = $upload_dir . $new_filename;
    
    // 确保目录存在
    if (!file_exists($upload_dir)) {
        mkdir($upload_dir, 0777, true);
    }
    
    // 移动文件
    if (move_uploaded_file($file['tmp_name'], $target_file)) {
        echo '上传成功:' . $new_filename;
    } else {
        echo '上传失败';
    }
}
?>

7. 新手易错点清单

1. 语法错误

错误正确
echo "Hello"echo "Hello";
if ($condition {if ($condition) {
echo 'Hello";echo 'Hello';

2. 变量错误

错误正确
echo name;echo $name;
$123name = 'value';$name123 = 'value';
$name = 'value'$name = 'value';

3. 数组错误

错误正确
$arr = [1, 2, 3$arr = [1, 2, 3];
echo $arr;print_r($arr);
$arr[] = 'value'$arr[] = 'value';

4. 数据库错误

错误正确
mysqli_query($sql);mysqli_query($conn, $sql);
SELECT * FORM tableSELECT * FROM table
INSERT INTO table VALUES (...)INSERT INTO table (col1, col2) VALUES (...)

5. 表单错误

错误正确
<form method="post"><form method="post" action="process.php">
<input type="text"><input type="text" name="username">
<form><form method="post" enctype="multipart/form-data">

6. Session 错误

错误正确
$_SESSION['user'] = 'value';session_start(); $_SESSION['user'] = 'value';
session_start(); 在输出后session_start(); 在文件开头

7. 文件上传错误

错误正确
$_POST['file']$_FILES['file']
<form method="post"><form method="post" enctype="multipart/form-data">
copy($file, $target);move_uploaded_file($file['tmp_name'], $target);

8. 安全错误

错误正确
$sql = "SELECT * FROM users WHERE id = $id";使用预处理语句
echo $_POST['content'];echo htmlspecialchars($_POST['content']);
$password = md5($password);$password = password_hash($password, PASSWORD_DEFAULT);

小结

本附录提供了 PHP 开发的速查手册,包括核心语法、常用工具快捷键、数据库操作模板、表单接收模板、登录模板、文件上传模板和常见错误清单。这些内容可以帮助你快速查找和使用常用的 PHP 代码片段,提高开发效率。在实际开发中,建议将这些模板保存为代码片段,方便随时调用。同时,要注意避免常见的错误,遵循最佳实践,编写安全、高效的 PHP 代码。

© 2026 编程马·菜鸟教程 版权所有