【自学笔记】PHP语言基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


1. PHP 简介

PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于 Web 开发,并可嵌入到 HTML 中。

2. PHP 环境搭建
  • 安装 XAMPP/WAMP/MAMP(根据操作系统选择)
  • htdocs(XAMPP)/www(WAMP/MAMP)目录下创建 PHP 文件
  • 启动服务器,访问 http://localhost/yourfile.php
3. 基本语法
变量与常量
php 复制代码
<?php
$variable = "Hello, World!"; // 变量
define("CONSTANT", "This is a constant"); // 常量
echo $variable; // 输出变量
echo CONSTANT; // 输出常量
?>
数据类型

PHP 支持多种数据类型,包括字符串、整数、浮点数、布尔值、数组、对象等。

运算符
php 复制代码
<?php
$a = 5 + 3; // 算术运算符
$b = $a == 8 ? true : false; // 三元运算符
$c = $a > 3 && $a < 10; // 逻辑运算符
echo $a, $b, $c;
?>
4. 控制结构
条件语句
php 复制代码
<?php
$number = 10;
if ($number > 5) {
    echo "Number is greater than 5";
} elseif ($number == 5) {
    echo "Number is equal to 5";
} else {
    echo "Number is less than 5";
}
?>
循环语句
php 复制代码
<?php
for ($i = 0; $i < 10; $i++) {
    echo $i;
}

$j = 0;
while ($j < 10) {
    echo $j;
    $j++;
}
?>
5. 函数
函数定义与调用
php 复制代码
<?php
function greet($name) {
    return "Hello, " . $name;
}

echo greet("Alice"); // 调用函数
?>
作用域
php 复制代码
<?php
$globalVar = "I am global";

function testScope() {
    $localVar = "I am local";
    echo $globalVar; // 可以访问全局变量
    // echo $localVar; // 局部变量只能在函数内部访问
}

testScope();
?>
6. 数组
php 复制代码
<?php
$fruits = array("apple", "banana", "cherry"); // 数组定义
echo $fruits[0]; // 访问数组元素

$assocArray = array("first" => "Jane", "last" => "Doe"); // 关联数组
echo $assocArray["first"]; // 访问关联数组元素
?>
7. 字符串
php 复制代码
<?php
$str = "Hello, World!";
$length = strlen($str); // 获取字符串长度
$upperStr = strtoupper($str); // 转换为大写
echo $length, $upperStr;
?>
8. 表单处理
php 复制代码
<!-- form.html -->
<form action="process.php" method="post">
    <input type="text" name="username">
    <input type="submit" value="Submit">
</form>
php 复制代码
<!-- process.php -->
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST['username'];
    echo "Username is: " . htmlspecialchars($username);
}
?>
9. 会话管理
Cookies
php 复制代码
<?php
setcookie("user", "John Doe", time() + (86400 * 7)); // 设置 cookie
echo "Cookie named 'user' is set!<br>";
echo "Value is: " . $_COOKIE["user"]; // 访问 cookie
?>
Sessions
php 复制代码
<?php
session_start();
$_SESSION["username"] = "John Doe"; // 设置 session 变量
echo "Session variable 'username' is set!<br>";
echo "Value is: " . $_SESSION["username"]; // 访问 session 变量
?>
10. 文件操作
php 复制代码
<?php
$file = fopen("example.txt", "w"); // 打开文件用于写入
fwrite($file, "Hello, World!"); // 写入文件
fclose($file); // 关闭文件

$file = fopen("example.txt", "r"); // 打开文件用于读取
$content = fread($file, filesize("example.txt")); // 读取文件内容
fclose($file); // 关闭文件

echo $content; // 输出文件内容
?>
11. 面向对象编程
类与对象
php 复制代码
<?php
class Car {
    public $color;

    function __construct($color = "red") {
        $this->color = $color;
    }

    function getColor() {
        return $this->color;
    }
}

$myCar = new Car("blue");
echo $myCar->getColor(); // 输出 "blue"
?>
继承与多态
php 复制代码
<?php
class Animal {
    public function speak() {
        return "Some sound";
    }
}

class Dog extends Animal {
    public function speak() {
        return "Bark";
    }
}

$animal = new Animal();
$dog = new Dog();

echo $animal->speak(); // 输出 "Some sound"
echo $dog->speak(); // 输出 "Bark"
?>
12. 代码示例

以下是一个完整的 PHP 程序示例,它结合了上述多个知识点:

php 复制代码
<!-- index.php -->
<?php
session_start();

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $_SESSION["username"] = htmlspecialchars($_POST['username']);
    header("Location: welcome.php");
    exit();
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>PHP Login Example</title>
</head>
<body>
    <form action="" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username">
        <input type="submit" value="Login">
    </form>
</body>
</html>
php 复制代码
<!-- welcome.php -->
<?php
session_start();

if (!isset($_SESSION["username"])) {
    header("Location: index.php");
    exit();
}

echo "Welcome, " . $_SESSION["username"] . "!";
?>

在这个示例中,用户可以在 index.php 页面输入用户名并提交表单。表单数据通过 POST 方法发送到相同的页面进行处理,用户名被存储在会话中,并且用户被重定向到 welcome.php 页面,该页面显示欢迎信息。如果用户没有通过会话验证,他们将被重定向回登录页面。


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,自学记录PHP语言基础知识点总览。

相关推荐
ZQ沙漠之狐1 分钟前
Android Studio打开xml布局文件内存会快速增加如何设置
android·xml·android studio
张力尹1 小时前
关于 MutableSharedFlow 的 tryEmit 和 emit 争议说法
android·面试·kotlin
lph0091 小时前
android 多个viewmodel之间通信
android
tangweiguo030519871 小时前
在 Jetpack Compose 中实现 iOS 风格输入框
android·compose
可乐^奶茶1 小时前
2026《数据结构》考研复习笔记三(C++高级教程)
数据结构·笔记·考研
我最厉害。,。1 小时前
XML&XXE 安全&无回显方案&OOB 盲注&DTD 外部实体&黑白盒挖掘
android·xml·安全
~在杰难逃~1 小时前
DB-Day10笔记-数据库事务问题补充&Python与MySQL的交互
数据库·笔记·python
RePeaT2 小时前
高亮自定义指令,表格前一列也高亮?
前端·vue.js·笔记
衿璃2 小时前
flutter 路由跳转动画设置
android·flutter
BOB-wangbaohai2 小时前
Flowable7.x学习笔记(十)分页查询已部署 BPMN XML 流程
笔记·学习