- PHP教程
- PHP - 首页
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混杂
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与I/O
- PHP - 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 比较运算符(太空船运算符)
- PHP 控制语句
- PHP - 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理CSV文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web开发
- PHP - Web概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET & POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session选项
- PHP - 发送邮件
- PHP - 过滤输入
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash消息
- PHP高级
- PHP - MySQL
- PHP.INI文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - 调试Bug
- PHP - 针对C开发人员
- PHP - 针对PERL开发人员
- PHP - 框架
- PHP - Core PHP vs. 框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 散列
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望值
- PHP - use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI进程
- PHP - PDO扩展
- PHP - 内置函数
PHP速查表
这份PHP速查表提供了一个对所有PHP编程概念的快速概述和复习,对学生和开发者都很有帮助。如果您正在准备任何考试或面试,我们建议您通读这份速查表,以学习和提升您的PHP技能。
脚本语法
使用以下语法编写PHP脚本:
<?php // Your PHP code here ?>
您也可以使用简短的echo标签:
<?= "Hello, World!" ?>
打印"Hello, World!"
您可以使用PHP的**echo**语句打印"Hello, World!"。
<?php echo "Hello, World!"; ?>
注释
PHP提供单行和多行注释。单行注释以**#**或**//**开头,多行注释用**/***和***/**括起来。
1. 单行注释
// Write single-line comment here # Write single-line comment here
2. 多行注释
/* You can write multi-line comment like this*/
变量
PHP变量存储数据和信息。变量可以使用美元符号 ($) 后跟变量名来声明。
<?php $age = 21; $name = "Kelly Hu"; ?>
打印变量
您可以使用PHP echo语句来打印变量。
<?php $age = 21; $name = "Kelly Hu"; echo "My name is $name"; echo "<br>"; echo "I am $age years old."; ?>
打印换行符
您可以使用echo语句和"\n"来在PHP中打印换行符。要在浏览器中显示换行符,请使用"<br />"标签。
1. 在控制台中打印
<?php echo "Hello, World!\n"; echo "This is on a new line.\n"; ?>
2. 在Web浏览器中打印
<?php echo "Hello, World!<br>"; echo "This is on a new line.<br>"; ?>
打印文本
您可以使用以下函数打印文本:
- echo
- printf
- print_r
1. 使用echo打印
使用**echo**打印一个或多个字符串。
<?php echo "Hello, World!", " Hello PHP"; $a = 10; $b = "Okay"; echo "\nValue of a is $a and value of b is $b"; ?>
2. 使用print打印
使用**print**打印单个字符串。
<?php print "Hello, World!"; ?>
3. 使用printf打印
使用**printf**打印格式化字符串。
<?php printf("Hello, %s!", "World"); ?>
4. 使用print_r打印
使用print_r进行调试,显示变量(特别是数组或对象)的人类可读信息。
<?php $arr = array('Hyderabad', 'Bangalore', 'Mangalore'); print_r($arr); ?>
将HTML元素与文本嵌入
您可以使用echo和print函数将HTML元素与文本嵌入。
<?php echo "<h1>Hello, World!</h1>"; echo "<p>This is a paragraph.</p>"; ?>
在HTML中嵌入PHP
您也可以在HTML元素内嵌入PHP。
<html> <body> <h1><?php echo "Welcome to My Website!"; ?></h1> <p><?php echo "This is a dynamic paragraph."; ?></p> </body> </html>
将PHP变量与HTML组合
您可以按如下方式在HTML元素中包含PHP变量:
<?php $name = "Kelly Hu"; echo "<p>Hello, <em>$name</em>! Welcome to TutorialsPoint.</p>"; ?>
数据类型
1. 字符串
字符串数据类型表示一系列字符。
$str1 = "Hello, World!"; $str2 = 'PHP Data Types';
2. 整数
整数数据类型表示介于-2,147,483,648和2,147,483,647之间的非十进制数(在32位系统上)。
$int = 42;
3. 浮点数(双精度浮点数)
浮点数(双精度浮点数)数据类型表示带有小数部分的数字。
$float = 3.14;
4. 布尔值
布尔数据类型表示两个可能的值:TRUE或FALSE。
$is_admin = true; $is_guest = false;
5. 数组
PHP数组类型在一个变量中存储多个值。
// Indexed array $cities = array("Hyderabad", "Bangalore", "Mangalore"); // Associative array $person = array("name" => "Kelly Hu", "age" => 22);
6. 对象
数组类型是类的实例。
<?php class Person { public $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } $p = new Person("Kelly Hu"); echo $p->getName(); // Outputs: Kelly Hu ?>
7. NULL
NULL类型表示没有值的变量。
$var = null;
字符串
PHP字符串是由单引号('Hello')或双引号("Hello")括起来的一系列字符。
1. 创建和打印字符串
您可以通过将字符串赋给变量来创建字符串变量,并使用echo语句打印它。
<?php $str = "Kelly Hu"; echo "Hello, $str!"; ?>
2. 字符串连接
可以使用点 (.) 运算符连接两个字符串。
<?php $str = "Hello" . " " . "World!"; echo $str; ?>
3. 字符串长度
您可以使用strlen()方法获取字符串长度。
$len = strlen("Hello"); // Output: 5
4. 字符串函数
一些常用的字符串函数用于各种字符串操作,如下所示:
函数名称 | 用途 | 示例 |
---|---|---|
strlen() | 返回字符串的长度。 | $str = "Hello World!"; echo strlen($str); |
str_word_count() | 返回字符串中单词的数量。 | $str = "Hello World!"; echo str_word_count($str); |
strrev() | 返回反转后的字符串。 | $str = "Hello"; echo strrev($str); |
strpos() | 返回子字符串第一次出现的索引。 | $str = "Hello World!"; echo strpos($str, "World"); |
str_replace() | 将字符串中的某些字符替换为其他字符。 | $str = "Hello World!"; echo str_replace("World", "Harry", $str); |
strtolower() | 返回转换为小写的字符串。 | $str = "HELLO WORLD!"; echo strtolower($str); |
strtoupper() | 返回转换为大写的字符串。 | $str = "hello world!"; echo strtoupper($str); |
trim() | 移除两端的多余空格或预定义字符。 | $str = " Hello World! "; echo trim($str); |
ltrim() | 移除左侧的多余空格或预定义字符。 | $str = " Hello World! "; echo ltrim($str); |
rtrim() | 移除右侧的多余空格或预定义字符。 | $str = " Hello World! "; echo rtrim($str); |
str_repeat() | 将字符串重复指定次数。 | $str = "Hi! "; echo str_repeat($str, 3); |
substr() | 返回字符串的一部分。 | $str = "Hello World!"; echo substr($str, 6, 5); |
ucfirst() | 返回将字符串首字母转换为大写的字符串。 | $str = "hello world!"; echo ucfirst($str); |
ucwords() | 返回将字符串中每个单词的首字母转换为大写的字符串。 | $str = "hello world!"; echo ucwords($str); |
strcmp() | 比较两个字符串(区分大小写)。 | $str1 = "Hello"; $str2 = "hello"; echo strcmp($str1, $str2); |
strcasecmp() | 比较两个字符串(不区分大小写)。 | $str1 = "Hello"; $str2 = "hello"; echo strcasecmp($str1, $str2); |
str_shuffle() | 随机打乱字符串的字符顺序。 | $str = "Hello"; echo str_shuffle($str); |
number_format() | 格式化数字,以千位分隔符分组。 | $num = 1234567.89; echo number_format($num, 2); |
您可以访问我们的参考页面了解更多关于这些方法的信息:PHP 字符串函数参考。
转义字符
PHP 支持以下转义字符:
转义字符 | 描述 |
---|---|
\\ | 反斜杠 |
\' | 单引号 |
\" | 双引号 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\b | 退格 |
\f | 换页 |
\v | 垂直制表符 |
\0 | 空字符 |
\xHH | 十六进制值(HH 为十六进制代码) |
\u{HHHH} | Unicode 字符 (PHP 7.2+) |
转义字符示例
<?php echo "Hello\nWorld"; echo "Hello\tWorld.\n"; echo "This is single quote: It\'s Me.\n"; echo "This is double quote: \"Hello, World!\"\n"; echo "This is a backslash: \\\n"; ?>
运算符
PHP 运算符 是用于对变量和值执行运算的符号。以下是不同类型的运算符:
所有运算符列表
运算符类型 | 运算符 | 描述 | 示例 |
---|---|---|---|
算术运算符 | + | 加法 | 5 + 3(输出 8) |
- | 减法 | 5 - 3(输出 2) | |
* | 乘法 | 5 * 3(输出 15) | |
/ | 除法 | 5 / 2(输出 2.5) | |
% | 取模(余数) | 5 % 2(输出 1) | |
赋值运算符 | = | 赋值 | $x = 5; |
+= | 加法赋值 | $x += 3;(等同于 $x = $x + 3;) | |
-= | 减法赋值 | $x -= 2;(等同于 $x = $x - 2;) | |
*= | 乘法赋值 | $x *= 2;(等同于 $x = $x * 2;) | |
/= | 除法赋值 | $x /= 2;(等同于 $x = $x / 2;) | |
%= | 取模赋值 | $x %= 3;(等同于 $x = $x % 3;) | |
比较运算符 | == | 等于(值) | ($x == $y) |
=== | 全等(值和类型) | ($x === $y) | |
!= | 不等于 | ($x != $y) | |
!== | 不全等(值或类型) | ($x !== $y) | |
< | 小于 | ($x < $y) | |
> | 大于 | ($x > $y) | |
<= | 小于等于 | ($x <= $y) | |
>= | 大于等于 | ($x >= $y) | |
逻辑运算符 | && | 逻辑与 | ($x && $y) |
|| | 逻辑或 | ($x || $y) | |
! | 逻辑非 | !$x | |
字符串运算符 | . | 连接(连接两个字符串) | $str = "Hello" . " World"; |
增量/减量运算符 | ++ | 增量(加一) | ++$x 或 $x++ |
-- | 减量(减一) | --$x 或 $x-- |
PHP 运算符示例
<?php // Arithmetic Operators $a = 10; $b = 3; echo $a + $b; echo $a % $b; // Assignment Operators $x = 5; $x += 2; echo $x; // Comparison Operators var_dump($x == 7); // Logical Operators if ($x > 5 && $x < 10) { echo "x is between 5 and 10."; } // String Operator $greeting = "Hello, " . "World!"; echo $greeting; // Increment/Decrement Operators echo ++$x; echo $x--; ?>
条件语句
PHP 条件语句用于根据条件执行代码。条件语句包括:
- if
- if else
- 多重 if else
- 嵌套 if else
- switch
1. if 语句
<?php $x = 10; if ($x > 5) { echo "x is greater than 5"; } ?>
2. if else 语句
<?php $x = 3; if ($x > 5) { echo "x is greater than 5"; } else { echo "x is not greater than 5"; } ?>
3. 多重 if else 语句
<?php $x = 10; if ($x > 10) { echo "x is greater than 10"; } elseif ($x == 10) { echo "x is equal to 10"; } else { echo "x is less than 10"; } ?>
4. 嵌套 if else 语句
<?php $x = 10; if ($x > 10) { echo "x is greater than 10"; } elseif ($x == 10) { echo "x is equal to 10"; } else { echo "x is less than 10"; } ?>
5. switch 语句
<?php $day = 3; switch ($day) { case 1: echo "Monday"; break; case 2: echo "Tuesday"; break; case 3: echo "Wednesday"; break; case 4: echo "Thursday"; break; case 5: echo "Friday"; break; case 6: echo "Saturday"; break; case 7: echo "Sunday"; break; default: echo "Invalid day"; } ?>
数学函数
PHP 数学函数用于执行各种数学运算。以下是数学函数:
函数 | 示例 |
---|---|
abs() | echo abs(-5); // 输出:5 |
ceil() | echo ceil(4.3); // 输出:5 |
floor() | echo floor(4.7); // 输出:4 |
round() | echo round(4.5); // 输出:5 |
max() | echo max(1, 3, 2); // 输出:3 |
min() | echo min(1, 3, 2); // 输出:1 |
pow() | echo pow(2, 3); // 输出:8 |
sqrt() | echo sqrt(16); // 输出:4 |
rand() | echo rand(1, 100); // 输出:随机数 |
mt_rand() | echo mt_rand(1, 100); // 输出:随机数 |
sin() | echo sin(deg2rad(90)); // 输出:1 |
cos() | echo cos(deg2rad(180)); // 输出:-1 |
tan() | echo tan(deg2rad(45)); // 输出:1 |
deg2rad() | echo deg2rad(180); // 输出:3.14159 |
rad2deg() | echo rad2deg(M_PI); // 输出:180 |
常量
PHP 常量 是具有固定值的变量。常量使用 **define()** 定义。
<?php define("SITE_NAME", "MyWebsite"); echo SITE_NAME; ?>
魔术常量
PHP 魔术常量 是具有特殊含义的特殊常量。以下是魔术常量:
常量名称 | 描述 |
---|---|
__LINE__ | 文件的当前行号。 |
__FILE__ | 文件的完整路径和文件名。 |
__DIR__ | 文件的目录。 |
__FUNCTION__ | 函数的名称(区分大小写)。 |
__CLASS__ | 类的名称(区分大小写)。 |
__METHOD__ | 方法的名称(区分大小写)。 |
__NAMESPACE__ | 当前命名空间(如果没有则为空)。 |
__TRAIT__ | 特性的名称(区分大小写)。 |
魔术常量示例
<?php echo "Current line: " . __LINE__ . "<\n"; echo "Full file path: " . __FILE__ . "<\n"; echo "Directory: " . __DIR__ . "<\n"; function tpFunction() { echo "Function name: " . __FUNCTION__ . "<\n"; } class tpClass { public function tpFun() { echo "Method name: " . __METHOD__ . "<\n"; } } namespace MyNamespace; echo "Namespace: " . __NAMESPACE__ . "<\n"; ?>
循环
PHP 循环 多次重复执行一段代码。以下是循环的类型:
- for
- foreach
- while
- do...while
1. for 循环
<?php echo "The for Loop:<\n"; for ($i = 0; $i < 10; $i++) { echo "Iteration: $i<\n"; } ?>
2. foreach 循环
<?php echo "The foreach Loop:<\n"; $cities = ['Hyderabad', 'Bangalore', 'Mangalore']; foreach ($cities as $city) { echo "City: $city<\n"; } ?>
3. while 循环
<?php echo "The while Loop:<\n"; $count = 0; while ($count < 10) { echo "Count: $count<\n"; $count++; } ?>
4. do...while 循环
<?php echo "The do...while Loop:<\n"; $count = 0; do { echo "Count: $count<\n"; $count++; } while ($count < 10); ?>
函数
PHP 函数 是可以按需执行的代码块。以下是一个简单的函数示例:
<?php // Defining function function printName($name) { return "Hello, " . $name . "!"; } // Calling function echo printName("Kelly Hu"); ?>
数组
PHP 数组 用于存储多个相同或不同类型的值。以下是不同类型的数组:
- 索引数组
- 关联数组
- 多维数组
1. 索引数组
<?php $cities = ["Hyderabad", "Bangalore", "Mangalore"]; // Accessing elements echo $cities[0]; echo $cities[1]; echo $cities[2]; ?>
2. 关联数组
<?php // Associative array with named keys $student = [ "name" => "Kelly Hu", "age" => 21, "city" => "Brentwood" ]; // Accessing elements by key echo $student["name"]; echo $student["age"]; echo $student["city"]; ?>
全局变量 - 超全局变量
PHP 全局变量 (也称为超全局变量)是内置的全局数组,用于提供信息或跟踪变量。超全局变量包括:
超全局变量 | 描述 |
---|---|
$_GET |
收集通过 GET 请求中的 URL 参数发送的数据。 |
$_POST |
收集通过 HTTP POST 方法发送的数据。 |
$_REQUEST |
收集来自 $_GET 、$_POST 和 $_COOKIE 的数据。 |
$_SESSION |
为单个用户跨页面存储数据。 |
$_COOKIE |
将数据作为小型文本文件存储在客户端的浏览器中。 |
$_FILES |
管理文件上传。 |
$_ENV |
保存环境变量。 |
$_SERVER |
包含有关服务器和执行环境的信息。 |
$_GLOBALS |
访问 PHP 脚本中的所有全局变量。 |
正则表达式
PHP 正则表达式是用于匹配字符串的模式。
1. 验证电子邮件地址
<?php $email = "[email protected]"; if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $email)) { echo "Valid Email."; } else { echo "Invalid Email"; } ?>
2. 验证电话号码
<?php $phone = "1234567890"; if (preg_match("/^\d{10}$/", $phone)) { echo "It's a valid phone number."; } else { echo "It's not a valid phone number."; } ?>
3. 验证 URL
<?php $url = "https://tutorialspoint.com"; if (preg_match("/\b(?:https?|ftp):\/\/[a-zA-Z0-9-]+\.[a-zA-Z]{2,6}\b/", $url)) { echo "It's a valid URL"; } else { echo "It's not a valid URL"; } ?>
表单处理
PHP 表单处理是关于通过 HTML 表单收集和验证用户数据。这是一个示例:
<form method="post" action="form.php"> Name: <input type="text" name="name"> <input type="submit" value="Submit"> </form> <?php // Check if form was submitted or not if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = htmlspecialchars($_POST['name']); if (!empty($name)) { echo "Hello, " . $name . "!"; } else { echo "Fill your name."; } } ?>
日期和时间
使用 **date()** 函数获取日期和时间。这是一个示例:
<?php // Get the current date and time echo "Current Date: " . date("Y-m-d") . "<\n"; echo "Current Time: " . date("H:i:s") . "<\n"; echo "Full Date and Time: " . date("Y-m-d H:i:s"); ?>
包含文件
使用 include 语句 在另一个 PHP 文件中包含文件。
include 'header.php';
文件处理
PHP 文件处理 用于创建、读取、写入和管理文件。
1. 打开和关闭文件
<?php $file = fopen("file1.txt", "w"); fclose($file); ?>
2. 写入文件
<?php $file = fopen("file1.txt", "w"); fwrite($file, "Some text to file."); fclose($file); ?>
3. 从文件中读取
<?php $file = fopen("file1.txt", "r"); $content = fread($file, filesize("file1.txt")); echo $content; fclose($file); ?>
4. 附加到文件
<?php $file = fopen("file1.txt", "a"); fwrite($file, "\nSome extra text."); fclose($file); ?>
5. 删除文件
<?php if (file_exists("file1.txt")) { unlink("file1.txt"); echo "DONE."; } else { echo "File doesn't exist"; } ?>
文件上传
PHP 文件上传 允许您将文件上传到服务器。
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
Cookie
PHP Cookie 在客户端计算机上存储少量数据。
setcookie("user", "Kelly Hu", time() + (86400 * 30), "/");
会话
PHP 会话 为用户跨多个页面存储数据。
session_start(); $_SESSION["username"] = "Kelly Hu";
过滤器
PHP 过滤器用于验证和清理数据。
$email = filter_var($email, FILTER_VALIDATE_EMAIL);