1. PHP 基本语法结构
PHP 代码需要包含在 <?php 和 ?> 标签中。
注意:如果文件是纯 PHP 代码,最好在文件末尾省略 ?> 结束标签,这样可以避免意外输出空格或换行符。
2. 变量
- 变量以
$ 符号开头,后面跟变量名。
- 变量名必须以字母或下划线开头。
- 变量名不能以数字开头。
- 变量名只能包含字母、数字和下划线。
- 变量名区分大小写。
1 2 3 4 5 6
| <?php $txt = "Hello World!"; $x = 5; $y = 10.5; $is_active = true; ?>
|
3. 数据类型
PHP 是一种弱类型语言,你不需要声明变量的数据类型。
| 类型 |
描述 |
示例 |
| String |
字符串 |
$str = "Hello"; |
| Integer |
整数 |
$int = 123; |
| Float |
浮点数 |
$float = 3.14; |
| Boolean |
布尔值 |
$bool = true; |
| Array |
数组 |
$arr = array("a", "b", "c"); |
| Object |
对象 |
$obj = new MyClass(); |
| NULL |
空值 |
$n = null; |
检查数据类型:
1 2 3 4
| <?php var_dump($str); echo gettype($int); ?>
|
4. 运算符
算术运算符
1 2 3 4 5 6
| $x + $y; $x - $y; $x * $y; $x / $y; $x % $y; $x ** $y;
|
赋值运算符
1 2 3
| $x = 5; $x += 3; $x -= 2;
|
比较运算符
1 2 3 4 5 6 7
| $x == $y; $x === $y; $x != $y; $x <> $y; $x !== $y; $x < $y; $x > $y;
|
逻辑运算符
1 2 3 4 5
| $x and $y; $x or $y; $x && $y; $x || $y; !$x;
|
5. 控制结构
条件语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?php
if ($x > $y) { echo "x 大于 y"; } elseif ($x == $y) { echo "x 等于 y"; } else { echo "x 小于 y"; }
$color = "red"; switch ($color) { case "red": echo "红色"; break; case "blue": echo "蓝色"; break; default: echo "其他颜色"; } ?>
|
循环语句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php
$i = 1; while ($i <= 5) { echo $i; $i++; }
for ($i = 0; $i < 5; $i++) { echo $i; }
$colors = array("red", "green", "blue"); foreach ($colors as $value) { echo $value; } ?>
|
6. 数组
索引数组
1 2 3 4 5 6 7
| <?php $cars = array("Volvo", "BMW", "Toyota");
$cars = ["Volvo", "BMW", "Toyota"];
echo $cars[0]; ?>
|
关联数组
1 2 3 4 5 6 7
| <?php $age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
$age = ["Peter"=>35, "Ben"=>37, "Joe"=>43];
echo $age["Peter"]; ?>
|
数组操作
1 2 3 4 5 6
| <?php $fruits = ["apple", "banana"]; $fruits[] = "orange"; count($fruits); sort($fruits); ?>
|
7. 函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
function greet($name, $greeting = "Hello") { return "$greeting, $name!"; }
echo greet("John"); echo greet("Jane", "Hi");
$square = function($n) { return $n * $n; }; echo $square(5); ?>
|
8. 表单处理
PHP 常用于处理 HTML 表单数据。
HTML 表单:
1 2 3 4 5
| <form method="post" action="welcome.php"> 名字: <input type="text" name="name"> 年龄: <input type="text" name="age"> <input type="submit"> </form>
|
PHP 处理脚本 (welcome.php):
1 2 3 4 5 6 7 8 9 10 11
| <?php
$name = $_POST['name']; $age = $_POST['age'];
echo "你好,$name!你 $age 岁了。";
$name = htmlspecialchars($_POST['name']); $age = (int)$_POST['age']; ?>
|
9. 与数据库交互(MySQLi 示例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }
$sql = "SELECT id, name, email FROM users"; $result = $conn->query($sql);
if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - 名字: " . $row["name"]. " - 邮箱: " . $row["email"]. "<br>"; } } else { echo "0 结果"; }
$conn->close(); ?>
|
10. 错误处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php
if (!file_exists("welcome.txt")) { die("文件不存在"); } else { $file = fopen("welcome.txt", "r"); }
try { if ($x == 0) { throw new Exception("除数不能为零"); } echo 10 / $x; } catch (Exception $e) { echo "错误信息: " . $e->getMessage(); } ?>
|
11. 包含文件
1 2 3 4 5 6 7
| <?php include 'header.php'; require 'config.php';
include_once 'functions.php'; require_once 'database.php'; ?>
|
总结
PHP 语法的主要特点:
- 以
<?php 开始,以 ?> 结束
- 所有变量以
$ 开头
- 语句以分号
; 结束
- 使用点号
. 进行字符串连接
- 支持面向对象和面向过程编程
- 拥有丰富的内置函数库
建议通过实际项目来练习这些语法概念,比如创建一个简单的博客系统、留言板或用户注册登录系统。