PHP 初学者指南 🐘
什么是PHP?
PHP(Hypertext Preprocessor,超文本预处理器)是一种服务端脚本语言,主要用于Web开发,它是构建动态网站最流行的语言之一,像WordPress、Facebook等都用PHP构建。

优点:
- ✅ 学习曲线平缓,入门容易
- ✅ 文档丰富,社区庞大
- ✅ 与HTML无缝集成
- ✅ 几乎支持所有主流数据库(MySQL、PostgreSQL等)
环境搭建(第一步)
推荐本地开发环境
| 工具 | 说明 |
|---|---|
| XAMPP | 跨平台,包含PHP+MySQL+Apache,最简单 |
| WampServer | Windows专用 |
| MAMP | Mac专用 |
| Docker | 进阶推荐,环境隔离 |
# 以XAMPP为例(Windows/Mac/Linux通用) 1. 下载并安装XAMPP 2. 启动Apache和MySQL服务 3. 将PHP文件放在 htdocs 目录 4. 浏览器访问 http://localhost/文件名.php
基本语法(必须掌握)
第一个PHP程序
<?php echo "Hello, World!"; ?>
变量与数据类型
<?php // 变量以$开头 $name = "张明"; // 字符串 $age = 25; // 整数 $height = 1.75; // 浮点数 $isStudent = true; // 布尔值 $hobbies = ["篮球", "编程"]; // 数组 // 字符串拼接(用 . 号) echo "我叫" . $name . ",今年" . $age . "岁"; ?>
常用数组操作
<?php
// 关联数组(键值对)
$user = [
"username" => "zhangming",
"email" => "zhang@example.com"
];
// 修改数组
$user["address"] = "北京"; // 新增
unset($user["username"]); // 删除
// 遍历数组
foreach ($user as $key => $value) {
echo "$key: $value<br>";
}
?>
条件语句与循环
<?php
// if-else
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "需要加油";
}
// switch
$day = "Monday";
switch ($day) {
case "Monday":
echo "星期一";
break;
case "Friday":
echo "星期五";
break;
default:
echo "其他";
}
// for循环
for ($i = 1; $i <= 5; $i++) {
echo "第{$i}次<br>";
}
// foreach循环(适合数组)
$colors = ["red", "green", "blue"];
foreach ($colors as $color) {
echo $color . "<br>";
}
?>
函数的使用
<?php
// 定义函数
function greet($name, $message = "你好") {
return $message . ", " . $name . "!";
}
// 调用
echo greet("小明"); // 输出:你好, 小明!
echo greet("小红", "欢迎"); // 输出:欢迎, 小红!
// 内置常用函数
echo strlen("PHP"); // 字符串长度:3
echo strtoupper("hello"); // 转大写:HELLO
echo date("Y-m-d H:i:s"); // 当前日期时间
?>
表单处理(实战重点)
HTML表单
<form action="process.php" method="POST">
<input type="text" name="username" placeholder="用户名">
<input type="password" name="password" placeholder="密码">
<button type="submit">提交</button>
</form>
PHP处理表单
<?php
// process.php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 简单验证
if (empty($username) || empty($password)) {
echo "用户名和密码不能为空";
} else {
echo "登录成功!欢迎 {$username}";
}
}
?>
MySQL数据库操作(基础)
<?php
// 连接数据库
$conn = new mysqli("localhost", "root", "", "my_database");
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询数据
$sql = "SELECT * FROM users WHERE age > 18";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "用户名: " . $row["username"] . "<br>";
}
} else {
echo "没有结果";
}
// 插入数据(防止SQL注入要使用预处理)
$stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$stmt->bind_param("ss", $username, $email);
$username = "张三";
$email = "zhang@example.com";
$stmt->execute();
$conn->close();
?>
常用安全实践 🔒
<?php
// 1. 防止XSS攻击
$user_input = "<script>alert('攻击')</script>";
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
// 2. 密码加密(永远不要明文存储密码)
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
// 验证密码
if (password_verify($password, $hashed_password)) {
// 密码匹配
}
// 3. 使用预处理防止SQL注入
$stmt = $conn->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $userId);
$stmt->execute();
?>
推荐学习资源 📚
在线教程:
- PHP官方文档(php.net/manual)— 最权威的参考
- W3Schools PHP教程 — 适合初学者
- 菜鸟教程(runoob.com)— 中文友好
视频课程:
- Udemy的Php教程(英文)
- 哔哩哔哩搜"PHP从入门到精通"
实践项目(逐步进阶):
- 个人简历网站
- 简单博客系统
- 待办事项管理(To-Do List)
- 用户注册登录系统
常见问题与Tips 💡
常见坑
// 1. 字符串引号陷阱
$name = "John";
echo "Hello $name"; // ✅ 正确:Hello John
echo 'Hello $name'; // ❌ 输出:Hello $name
// 2. 使用 var_dump() 调试
var_dump($variable); // 显示类型和值
// 3. 常见警告处理
error_reporting(E_ALL); // 开发时开启所有警告
ini_set('display_errors', 1); // 显示错误
编码习惯建议
- ✅ 使用UTF-8编码保存文件
- ✅ 文件保存为
.php扩展名 - ✅ 控制器逻辑与视图分开
- ✅ 正则表达式学习(
preg_match等)
实战建议
快速上手指南:
- 第1周:学完HTML+CSS基础,搭建好环境
- 第2周:掌握PHP变量、数组、循环、函数
- 第3周:完成一个表单交互项目
- 第4周:学习MySQL与PHP连接
- 第5-8周:做一个小型博客或购物车项目
进阶方向(学完基础后):
- 面向对象编程(OOP)
- Laravel框架(最流行的PHP框架)
- RESTful API开发
- 设计模式与架构