PHP(Hypertext Preprocessor)是一种广泛用于 Web 开发的服务器端脚本语言,特别适合动态网页开发。以下是 PHP 的基础教程:
基础概念
作用:主要用于处理服务器端逻辑,如生成动态网页内容、处理表单数据、与数据库交互等。
运行环境:需要 Web 服务器(如 Apache、Nginx)和 PHP 解释器,通常与 MySQL 等数据库配合使用。
嵌入方式:PHP 代码可以嵌入到 HTML 中,使用<?php ?>标签包裹。
html
预览
<!DOCTYPE html>
<html>
<body>
<h1><?php echo "Hello, PHP!"; ?></h1>
</body>
</html>
变量与数据类型
变量声明:变量以$符号开头,无需声明类型,直接赋值即可。
php
$name = "Alice";
$age = 25;
$isStudent = true;
数据类型:
标量类型:字符串(String)、整数(Integer)、浮点数(Float)、布尔值(Boolean)。
复合类型:数组(Array)、对象(Object)。
特殊类型:NULL、资源(Resource)。
运算符
算术运算符:+、-、*、/、%(取余)、++、--。
字符串运算符:.用于连接字符串,.=用于拼接赋值。
php
$firstName = "John";
$lastName = "Doe";
$fullName = $firstName . " " . $lastName; // 结果为"John Doe"
比较运算符:==、===、!=、!==、>、<等。
逻辑运算符:&&(与)、||(或)、!(非)。
流程控制
条件语句:
php
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}
// switch语句
$day = 3;
switch ($day) {
case 1:
echo "周一";
break;
case 2:
echo "周二";
break;
default:
echo "其他";
}
循环语句:
php
// for循环
for ($i = 0; $i < 5; $i++) {
echo $i . " ";
}
// while循环
$j = 0;
while ($j < 5) {
echo $j . " ";
$j++;
}
// foreach循环(遍历数组)
$fruits = ["apple", "banana", "orange"];
foreach ($fruits as $fruit) {
echo $fruit . " ";
}
函数
函数定义与调用:
php
// 定义函数
function add($a, $b) {
return $a + $b;
}
// 调用函数
$result = add(3, 5);
echo $result; // 输出8
默认参数:
php
function greet($name = "Guest") {
echo "Hello, " . $name;
}
greet(); // 输出"Hello, Guest"
greet("Alice"); // 输出"Hello, Alice"
数组
创建数组:
php
// 索引数组
$colors = array("red", "green", "blue");
// 或简化语法
$colors = ["red", "green", "blue"];
// 关联数组(键值对)
$person = [
"name" => "Bob",
"age" => 30,
"city" => "New York"
];
访问数组元素:
php
echo $colors[0]; // 输出"red"
echo $person["name"]; // 输出"Bob"
常用数组函数:
count():返回数组元素个数。
array_push():向数组末尾添加元素。
array_pop():删除数组末尾元素。
表单处理
PHP 常用于处理 HTML 表单提交的数据:
html
预览
<!-- form.html -->
<form method="post" action="process.php">
<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"];
// 处理表单数据(实际应用中需验证和过滤)
echo "用户名:" . $username . "<br>";
echo "密码:" . $password;
}
?>
数据库操作(以 MySQL 为例)
PHP 可通过 PDO 或 mysqli 扩展与 MySQL 交互:
php
<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 查询数据
$stmt = $conn->prepare("SELECT name, age FROM users");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo "Name: " . $row["name"] . ", Age: " . $row["age"] . "<br>";
}
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
输出方式
echo:可输出多个值,无返回值。
print:只能输出一个值,返回 1。
print_r():用于打印数组等复杂数据结构。
var_dump():打印变量的详细信息(类型和值)。
掌握以上基础知识后,可以进一步学习 PHP 的面向对象编程、会话管理(Session)、Cookie、文件操作等高级内容。PHP 有丰富的框架(如 Laravel、Symfony)可以提高开发效率,适合构建复杂的 Web 应用。