PHP笔记

PHP笔记
lieyan16PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。
以下笔记学习记录在https://www.w3school.com.cn/学习
echo 输出文本
1 | <?php |
PHP echo 和 print 语句
echo 和 print 之间的差异:
- echo - 能够输出一个以上的字符串
- print - 只能输出一个字符串,并始终返回 1
变量
PHP 变量规则:
- 变量以 $ 符号开头,其后是变量的名称 如$x
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
- PHP无需任何创建变量的命令,变量会在首次为其赋值时创建
PHP 变量作用域
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:3个作用域不能互相调用其中的函数
local(局部)
global(全局)
static(静态)
如果想要在局部域(如函数中)可以使用global关键词调用
1 | global $x,$y; //调用全局变量中的$x,$y这2个函数 |
也可以使用**$GLOBALS[‘要调用的全局变量’]**这个内置数组,这个数组中储存了所以的全局变量。
static静态变量 每次调用函数时都能记住上一次的值,可以实现累加的效果
数据类型
- 字符串(String):用引号括起来的一串字符,例如:”Hello, World!”。
- 整数(Integer):表示整数值,例如:42。
- 浮点数(Float):表示带有小数部分的数值,例如:3.14。
- 布尔值(Boolean):表示逻辑值,可以是 true 或 false。
- 数组(Array):表示一组有序的数据集合,可以包含不同类型的元素。
- 对象(Object):表示具有属性和方法的自定义数据结构。
- NULL:表示一个空值,即没有任何值。
var_dump() 会返回变量的数据类型和值(会自动转换为10进制)
$this是PHP中的特殊变量,只能在类中使用它在类的方法内部自动引用当前对象的实例,以便你可以操作该对象的成员。
常量
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
运算符
PHP 字符串运算符
| 运算符 | 名称 | 例子 | 结果 | 显示结果 |
|---|---|---|---|---|
| . | 串接 | $txt1 = “Hello” $txt2 = $txt1 . “ world!” | 现在 $txt2 包含 “Hello world!” | Hello world! |
| .= | 串接赋值 | $txt1 = “Hello” $txt1 .= “ world!” | 现在 $txt1 包含 “Hello world!” | Hello world! |
PHP 递增/递减运算符
| 运算符 | 名称 | 描述 | 显示结果 |
|---|---|---|---|
| ++$x | 前递增 | $x 加一递增,然后返回 $x | |
| $x++ | 后递增 | 返回 $x,然后 $x 加一递增 | |
| –$x | 前递减 | $x 减一递减,然后返回 $x | |
| $x– | 后递减 | 返回 $x,然后 $x 减一递减 |
PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
| 运算符 | 名称 | 例子 | 结果 | 显示结果 |
|---|---|---|---|---|
| == | 等于 | $x == $y | 如果 $x 等于 $y,则返回 true。 | |
| === | 全等(完全相同) | $x === $y | 如果 $x 等于 $y,且它们类型相同,则返回 true。 | |
| != | 不等于 | $x != $y | 如果 $x 不等于 $y,则返回 true。 | |
| <> | 不等于 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 | |
| !== | 不全等(完全不同) | $x !== $y | 如果 $x 不等于 $y,或它们类型不相同,则返回 true。 | |
| > | 大于 | $x > $y | 如果 $x 大于 $y,则返回 true。 | |
| < | 小于 | $x < $y | 如果 $x 小于 $y,则返回 true。 | |
| >= | 大于或等于 | $x >= $y | 如果 $x 大于或者等于 $y,则返回 true. | |
| <= | 小于或等于 | $x <= $y | 如果 $x 小于或者等于 $y,则返回 true。 |
PHP 逻辑运算符
| 运算符 | 名称 | 例子 | 结果 | 显示结果 |
|---|---|---|---|---|
| and | 与 | $x and $y | 如果 $x 和 $y 都为 true,则返回 true。 | |
| or | 或 | $x or $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 | |
| xor | 异或 | $x xor $y | 如果 $x 和 $y 有且仅有一个为 true,则返回 true。 | |
| && | 与 | $x && $y | 如果 $x 和 $y 都为 true,则返回 true。 | |
| || | 或 | $x || $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 | |
| ! | 非 | !$x | 如果 $x 不为 true,则返回 true。 |
PHP 数组运算符
PHP 数组运算符用于比较数组:
| 运算符 | 名称 | 例子 | 结果 | 显示结果 |
|---|---|---|---|---|
| + | 联合 | $x + $y | $x 和 $y 的联合(但不覆盖重复的键) | |
| == | 相等 | $x == $y | 如果 $x 和 $y 拥有相同的键/值对,则返回 true。 | |
| === | 全等 | $x === $y | 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。 | |
| != | 不相等 | $x != $y | 如果 $x 不等于 $y,则返回 true。 | |
| <> | 不相等 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 | |
| !== | 不全等 | $x !== $y | 如果 $x 与 $y 完全不同,则返回 true。 |
循环
while循环
1 | while (条件为真) { |
do…while 循环
循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
1 | do { |
for循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
语法
1 | for (init counter; test counter; increment counter) { |
参数:
- init counter:初始化循环计数器的值
- test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
- increment counter:增加循环计数器的值
一个小例子
1 |
|
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
1 | foreach ($array as $value) { |
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
1 |
|
函数
声明一个函数要以function开头
1 |
|
举个例子
1 |
|
1 |
|
数组
直接举例子
1 |
|
创建一个数组 $cars=array(“porsche”,”BMW”,”Volvo”);
数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:
- sort() - 以升序对数组排序(默认的排序方式是A-Z)
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
超全局
PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
- $GLOBALS 在局部中调用全局变量,$GLOBALS[‘x’]
- $_SERVER 访问关于程序路径,脚本,服务器等问题
- $_REQUEST 可以理解为收集一个变量的数据
- $_POST 目前的理解和 $ _REQUEST相思
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
$_SERVER 例子
1 |
|
下面是$_SERVER 中访问的最重要的元素
元素/代码 描述 $_SERVER[‘PHP_SELF’] 返回当前执行脚本的文件名。 $_SERVER[‘GATEWAY_INTERFACE’] 返回服务器使用的 CGI 规范的版本。 $_SERVER[‘SERVER_ADDR’] 返回当前运行脚本所在的服务器的 IP 地址。 $_SERVER[‘SERVER_NAME’] 返回当前运行脚本所在的服务器的主机名。 $_SERVER[‘SERVER_SOFTWARE’] 返回服务器标识字符串(比如 Apache/2.2.24)。 $_SERVER[‘SERVER_PROTOCOL’] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。 $_SERVER[‘REQUEST_METHOD’] 返回访问页面使用的请求方法(例如 POST)。 $_SERVER[‘REQUEST_TIME’] 返回请求开始时的时间戳(例如 1577687494)。 $_SERVER[‘QUERY_STRING’] 返回查询字符串,如果是通过查询字符串访问此页面。 $_SERVER[‘HTTP_ACCEPT’] 返回来自当前请求的请求头。 $_SERVER[‘HTTP_ACCEPT_CHARSET’] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1) $_SERVER[‘HTTP_HOST’] 返回来自当前请求的 Host 头。 $_SERVER[‘HTTP_REFERER’] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。 $_SERVER[‘HTTPS’] 是否通过安全 HTTP 协议查询脚本。 $_SERVER[‘REMOTE_ADDR’] 返回浏览当前页面的用户的 IP 地址。 $_SERVER[‘REMOTE_HOST’] 返回浏览当前页面的用户的主机名。 $_SERVER[‘REMOTE_PORT’] 返回用户机器上连接到 Web 服务器所使用的端口号。 $_SERVER[‘SCRIPT_FILENAME’] 返回当前执行脚本的绝对路径。 $_SERVER[‘SERVER_ADMIN’] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。 $_SERVER[‘SERVER_PORT’] Web 服务器使用的端口。默认值为 “80”。 $_SERVER[‘SERVER_SIGNATURE’] 返回服务器版本和虚拟主机名。 $_SERVER[‘PATH_TRANSLATED’] 当前脚本所在文件系统(非文档根目录)的基本路径。 $_SERVER[‘SCRIPT_NAME’] 返回当前脚本的路径。 $_SERVER[‘SCRIPT_URI’] 返回当前页面的 URI。
PHP $_REQUEST
PHP $_REQUEST 用于收集 HTML 表单提交的数据。
下面的例子展示了一个包含输入字段及提交按钮的表单。当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到




