PHP 基本语法:变量、函数、条件语句
PHP 是一种广泛用于 Web 开发的脚本语言。它的语法简洁,学习门槛低,适合快速构建动态网页。掌握变量、函数和条件语句是编写任何 PHP 程序的基础。以下内容将手把手教你如何正确使用这三类核心元素。
定义和使用变量
在 PHP 中,所有变量都以美元符号 `$` 开头,后接变量名。变量名必须以字母或下划线开头,不能以数字开头,且区分大小写。
**声明** 一个变量无需提前指定类型,PHP 会根据赋值自动推断。
1. **创建** 一个变量并赋值:
```php
$name = "张三";
$age = 25;
$is_student = true;
2. **输出** 变量内容使用 `echo` 或 `print`:
```php
echo $name; // 输出:张三
```
3. **连接** 字符串与变量时,使用点号 `.`:
```php
echo "姓名:" . $name . ",年龄:" . $age;
```
4. **检查** 变量是否存在,使用 `isset()` 函数:
```php
if (isset($email)) {
echo "邮箱已设置";
}
注意:PHP 支持变量变量(variable variables),即用一个变量的值作为另一个变量的名称,例如 $var = "title"; $$var = "欢迎页";` 此时 `$title 的值为 "欢迎页"。但初学者建议避免使用,以免混淆。
编写和调用函数
函数是一段可重复使用的代码块,用于执行特定任务。PHP 允许你定义自己的函数。
-
定义 函数使用
function关键字:function greet($username) { return "你好," . $username . "!"; } -
调用 函数并获取返回值:
$message = greet("李四"); echo $message; // 输出:你好,李四! -
设置 默认参数值,使参数可选:
function calculateArea($width, $height = 10) { return $width * $height; } echo calculateArea(5); // 使用默认高度 10,结果为 50 echo calculateArea(5, 8); // 高度为 8,结果为 40 -
返回 多个值可通过数组实现:
function getUserInfo() { return ["name" => "王五", "role" => "管理员"]; } $info = getUserInfo(); echo $info["name"]; // 输出:王五
函数内部定义的变量默认是局部变量,无法在函数外部访问。若需在函数内修改全局变量,需使用 global 关键字或通过参数传递。
使用条件语句控制流程
条件语句根据真假判断决定程序执行哪一段代码。PHP 主要支持 if、else if、else 和 switch 结构。
使用 if-else 语句
-
编写 基本的
if判断:$score = 85; if ($score >= 60) { echo "及格"; } -
添加
else处理不满足条件的情况:if ($score >= 90) { echo "优秀"; } else { echo "需要努力"; } ``` 3. **组合** 多个条件使用 `else if`: ```php if ($score >= 90) { echo "A"; } else if ($score >= 80) { echo "B"; } else if ($score >= 70) { echo "C"; } else { echo "D"; } -
使用 逻辑运算符组合条件:
&&表示“并且”||表示“或者”!表示“非”
示例:
if ($age >= 18 && $is_student) { echo "成年学生"; }
使用 switch 语句处理多分支
当需要根据一个变量的多个可能值执行不同操作时,switch 更清晰。
-
构造
switch语句:$grade = "B"; switch ($grade) { case "A": echo "表现优异"; break; case "B": echo "良好"; break; case "C": echo "及格"; break; default: echo "成绩无效"; } -
注意 每个
case后必须加break;,否则会继续执行后续case(称为“穿透”)。仅在需要故意穿透时才省略break。
常见比较与逻辑运算符速查
以下表格列出 PHP 中最常用的比较和逻辑运算符,便于快速参考:
| 运算符 | 含义 | 示例 | 说明 |
|---|---|---|---|
== |
等于 | $a == $b |
比较值是否相等(不严格) |
=== |
全等 | $a === $b |
值和类型都相同 |
!= |
不等于 | $a != $b |
|
!== |
不全等 | $a !== $b |
|
< |
小于 | $a < $b |
|
> |
大于 | $a > $b |
|
<= |
小于等于 | $a <= $b |
|
>= |
大于等于 | $a >= $b |
|
&& |
逻辑与 | $x && $y |
两者都为真才为真 |
|| |
逻辑或 | $x || $y |
任一为真即为真 |
! |
逻辑非 | `!$x` | 取反 | 使用 `===` 和 `!==` 能避免因类型自动转换导致的意外结果。例如,字符串 `"0"` 与整数 `0` 在 `==` 下相等,但在 `===` 下不等。 --- ## 实战示例:用户登录状态判断 综合运用变量、函数和条件语句,编写一个简单的登录状态检查逻辑: ```php <?php // 定义变量 $username = "admin"; |
$password = "123456";
$is_logged_in = true;
$user_role = "editor";
// 定义函数:检查权限
function canEdit($role) {
return $role === "admin" || $role === "editor";
}
// 条件判断
if ($is_logged_in) {
echo "欢迎回来," . $username . "!<br>";
if (canEdit($user_role)) {
echo "你有编辑权限。";
} else {
echo "你只有查看权限。";
}
} else {
echo "请先登录。";
}
?>
运行上述代码将输出:
欢迎回来,admin!
你有编辑权限。
此示例展示了如何将三类语法元素有机结合,构建实际业务逻辑。
暂无评论,快来抢沙发吧!