PHP 代码基本结构

1.纯PHP文本

1
2
3
<?php
// 纯PHP文件不需要闭合标签 ?>,可避免输出空白字符
echo "这是一个纯PHP文件";

2.嵌入HTML

1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<body>
<h1>普通HTML内容</h1>
<?php
$name = "张三";
echo "<p>动态生成内容:你好,$name!</p>";
?>
</body>
</html>

3.短标签(需要配置php.ini)

1
<?= "相当于 <?php echo '内容'; ?>" ?>

变量与数据类型

1.变量规则

  • $开头,区分大小写
  • 由字母、数字、下划线组成,不能以数字开头
  • 无需声明类型,赋值时自动确定类型

2.基本数据类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 字符串
$str1 = '单引号字符串'; // 单引号不解析变量
$str2 = "双引号字符串,可解析变量:$str1";

// 数值
$int = 123;
$float = 3.14;

// 布尔值
$isTrue = true;
$isFalse = false;

// 空值
$empty = null;

// 资源(如文件句柄、数据库连接)
$file = fopen('test.txt', 'r');

3.符合数据类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 数组(索引数组)
$colors = ['红色', '绿色', '蓝色'];
echo $colors[0]; // 输出:红色

// 关联数组(键值对)
$user = [
'name' => '李四',
'age' => 30,
'isAdmin' => true
];
echo $user['name']; // 输出:李四

// 对象(需先定义类)
class Car {
public $brand = '奔驰';
public function drive() {
echo "开车:{$this->brand}";
}
}
$car = new Car();
$car->drive(); // 输出:开车:奔驰

运算符

1.算数运算符

1
2
3
4
5
$a = 10;
$b = 3;
echo $a + $b; // 加法:13
echo $a % $b; // 取余:1
echo $a++; // 后自增:先返回10,再+1

2.字符串运算符

1
2
3
4
$str1 = "Hello";
$str2 = "PHP";
echo $str1 . ' ' . $str2; // 连接:Hello PHP
$str1 .= " World"; // 追加:Hello World

3.比较运算符

1
2
3
4
$a = 5;
$b = "5";
var_dump($a == $b); // 等于:true(只比较值)
var_dump($a === $b); // 全等:false(值和类型都要相同)

4.逻辑运算符

1
2
3
4
5
$age = 25;
$isStudent = false;
if ($age > 18 && !$isStudent) {
echo "成年人且非学生";
}

5.三元运算符(简化版的if-else)

1
2
3
$score = 85;
$result = ($score >= 60) ? "及格" : "不及格";
echo $result; // 输出:及格

流程控制

1.条件语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// if-else
$time = date('H'); // 获取当前小时
if ($time < 12) {
echo "上午好";
} elseif ($time < 18) {
echo "下午好";
} else {
echo "晚上好";
}

// switch
$day = date('w'); // 获取星期几(0-6)
switch ($day) {
case 0:
echo "星期日";
break;
case 6:
echo "星期六";
break;
default:
echo "工作日";
}

2.循环语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// for循环(遍历固定次数)
for ($i = 1; $i <= 5; $i++) {
echo "循环第 $i 次<br>";
}

// while循环(条件为真时执行)
$i = 1;
while ($i <= 3) {
echo "while循环 $i<br>";
$i++;
}

// foreach循环(专门遍历数组)
$users = ['张三', '李四', '王五'];
foreach ($users as $index => $name) {
echo "索引 $index 的值是:$name<br>";
}

函数

1.自定义函数

1
2
3
4
5
6
7
8
9
10
11
// 带参数和返回值的函数
function calculate($a, $b, $operator = '+') {
switch ($operator) {
case '+': return $a + $b;
case '-': return $a - $b;
default: return null;
}
}

$result = calculate(5, 3); // 8
$result = calculate(5, 3, '-'); // 2

2.变量函数(函数名存储在变量中)

1
2
3
4
5
6
function sayHello() {
echo "你好!";
}

$func = 'sayHello';
$func(); // 调用 sayHello()

3.匿名函数(闭包函数)

1
2
3
4
5
$greet = function($name) {
return "你好,$name!";
};

echo $greet("小明"); // 输出:你好,小明!