PHP 语法(详细指南)
                           
天天向上
发布: 2025-03-18 23:39:19

原创
558 人浏览过

PHP(Hypertext Preprocessor)是一种服务器端脚本语言,专为 Web 开发而设计,并可嵌入 HTML。以下是 PHP 语法的详细介绍,包括基本语法、变量、数据类型、控制结构、函数、面向对象编程等内容。


1. PHP 基本语法

1.1 PHP 代码结构

PHP 代码通常嵌入在 HTML 中,使用 <?php ... ?> 标签:

<!DOCTYPE html>
<html>
<head>
    <title>PHP 测试</title>
</head>
<body>
    <?php
        echo "Hello, PHP!";
    ?>
</body>
</html>

1.2 单独的 PHP 脚本

PHP 代码也可以写在独立的 .php 文件中:

<?php
echo "Hello, PHP!";
?>

1.3 注释

PHP 支持三种注释方式:

// 这是单行注释
# 这也是单行注释
/*
  这是多行注释
*/

2. 变量与数据类型

2.1 变量定义

PHP 变量以 $ 开头,区分大小写:

<?php
$name = "Alice";
$age = 25;
echo "姓名: $name, 年龄: $age";
?>

2.2 数据类型

PHP 是 动态类型 语言,支持以下数据类型:

<?php
$string = "Hello";   // 字符串
$integer = 10;       // 整数
$float = 3.14;       // 浮点数
$boolean = true;     // 布尔值
$array = [1, 2, 3];  // 数组
$nullVar = null;     // 空值
?>

2.3 变量类型转换

PHP 可自动转换数据类型:

<?php
$num = "100";
$sum = $num + 50; // 自动转换为整数
echo $sum; // 输出 150
?>

强制转换:

<?php
$var = (int) "123";  // 转换为整数
?>

3. 控制结构

3.1 条件语句

if 语句

<?php
$age = 18;
if ($age >= 18) {
    echo "成年人";
} else {
    echo "未成年";
}
?>

switch 语句

<?php
$color = "red";
switch ($color) {
    case "red":
        echo "红色";
        break;
    case "blue":
        echo "蓝色";
        break;
    default:
        echo "未知颜色";
}
?>

3.2 循环语句

for 循环

<?php
for ($i = 0; $i < 5; $i++) {
    echo "当前值: $i <br>";
}
?>

while 循环

<?php
$i = 0;
while ($i < 5) {
    echo "值: $i <br>";
    $i++;
}
?>

foreach 循环(用于数组)

<?php
$arr = ["苹果", "香蕉", "橘子"];
foreach ($arr as $fruit) {
    echo "$fruit <br>";
}
?>

4. 函数

PHP 允许用户定义函数:

<?php
function greet($name) {
    return "Hello, $name!";
}
echo greet("Alice");
?>

带默认参数:

<?php
function greet($name = "Guest") {
    return "Hello, $name!";
}
echo greet(); // Hello, Guest!
?>

返回多个值:

<?php
function getInfo() {
    return ["Alice", 25];
}
list($name, $age) = getInfo();
echo "姓名: $name, 年龄: $age";
?>

5. 数组

5.1 索引数组

<?php
$arr = ["苹果", "香蕉", "橘子"];
echo $arr[0]; // 苹果
?>

5.2 关联数组

<?php
$user = ["name" => "Alice", "age" => 25];
echo $user["name"]; // Alice
?>

5.3 多维数组

<?php
$users = [
    ["name" => "Alice", "age" => 25],
    ["name" => "Bob", "age" => 30]
];
echo $users[1]["name"]; // Bob
?>

6. 面向对象编程(OOP)

6.1 定义类

<?php
class Person {
    public $name;
    public $age;

    function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }

    function greet() {
        return "Hello, my name is $this->name.";
    }
}

$person = new Person("Alice", 25);
echo $person->greet();
?>

6.2 继承

<?php
class Employee extends Person {
    public $salary;

    function __construct($name, $age, $salary) {
        parent::__construct($name, $age);
        $this->salary = $salary;
    }
}

$emp = new Employee("Bob", 30, 5000);
echo $emp->greet();
?>

7. 超全局变量

7.1 $_GET$_POST

<?php
// 获取 GET 参数
$name = $_GET['name'];
echo "Hello, $name!";
?>

表单 POST 处理:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    echo "提交的名字: $name";
}
?>

HTML 表单:

<form method="post">
    名字: <input type="text" name="name">
    <input type="submit">
</form>

8. 文件操作

8.1 读取文件

<?php
$content = file_get_contents("test.txt");
echo $content;
?>

8.2 写入文件

<?php
file_put_contents("test.txt", "Hello, PHP!");
?>

9. 错误处理

<?php
try {
    if (!file_exists("test.txt")) {
        throw new Exception("文件不存在");
    }
} catch (Exception $e) {
    echo "错误: " . $e->getMessage();
}
?>

10. 进一步学习

更多php详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *