PHP手册


变量:
可以使用函数unset( )释放指定的变量。
isset( )函数检测变量是否设置。
empty( )函数检查一个变量是否为空。
var_dump() 函数返回变量的数据类型和值

变量的引用:
引用操作符&可以在关联赋值中使用,就像一个别名,使得变量都指向了内存的相同地址。例:
<?php
  $a=5;
  $b=&$a;
  echo $b;  //输出5
  $a=7;
  echo $b;  //输出7
?>
通过unset($a)重置变量与内存的关联。

define() 函数定义常量
strlen()函数返回字符串的长度(字符数)
strpos() 函数用于在字符串内查找一个字符或一段指定的文本
count() 函数用于返回数组的长度(元素的数量)
遍历数值数组,可以使用 for 循环
遍历关联数组,可以使用 foreach 循环

PHP - 数组排序函数:
sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列

PHP 超级全局变量
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION

PHP 循环
while - 只要指定的条件成立,则循环执行代码块
do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
for - 循环执行代码块指定的次数
foreach - 根据数组中每个元素来循环代码块,用于遍历数组。
foreach ($array as $value)
{
要执行代码;
}

PHP 魔术变量
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。
__DIR__ 文件所在的目录。
__FUNCTION__ 本常量返回该函数被定义时的名字(区分大小写)。
__CLASS__ 本常量返回该类被定义时的名字(区分大小写)。
__TRAIT__ 实现了代码复用的一个方法,称为 traits。
__METHOD__ 类的方法名,返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称。

PHP 命名空间(namespace)

$_SERVER["PHP_SELF"]是超级全局变量,返回当前正在执行脚本的文件名,与 document root相关。
$_SERVER["PHP_SELF"] 会发送表单数据到当前页面,而不是跳转到不同的页面。
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >

1.使用 PHP trim() 函数去除用户输入数据中不必要的字符 (如:空格,tab,换行)。
2.使用PHP stripslashes()函数去除用户输入数据中的反斜杠 (\)

我们在执行以上脚本时,会通过$_SERVER["REQUEST_METHOD"]来检测表单是否被提交 。如果 REQUEST_METHOD 是 POST, 表单将被提交 - 数据将被验证。如果表单未提交将跳过验证并显示空白。

preg_match — 进行正则表达式匹配。
语法:
int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )
在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。如果提供了 matches ,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。


PHP $_REQUEST 变量
预定义的 $_REQUEST 变量包含了 $_GET、$_POST 和 $_COOKIE 的内容。
$_REQUEST 变量可用来收集通过 GET 和 POST 方法发送的表单数据。

mktime() 语法
mktime(hour,minute,second,month,day,year,is_dst)
如需获得某一天的时间戳,我们只要设置 mktime() 函数的 day 参数就可以了:


PHP 包含文件
include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:
require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。


PHP 文件处理
fopen() 函数用于在 PHP 中打开文件。此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件。
fclose() 函数用于关闭打开的文件。
feof() 函数检测是否已到达文件末尾(EOF)。
fgets() 函数用于从文件中逐行读取文件。
fgetc() 函数用于从文件中逐字符地读取文件。


PHP 文件上传
通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码


PHP Cookies
1.如何创建 Cookie?
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 'html'标签之前。
语法:setcookie(name, value, expire, path, domain);
2.如何取回 Cookie 的值?
PHP 的 $_COOKIE 变量用于取回 cookie 的值。
使用 isset() 函数来确认是否已设置了 cookie
3.如何删除 Cookie?
当删除 cookie 时,您应当使过期日期变更为过去的时间点。


PHP Sessions
1.开始 PHP Session
session_start() 函数必须位于'html'标签之前。
2.存储 Session 变量
存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量
isset() 函数检测是否已设置 "views" 变量。如果已设置 "views" 变量,我们累加计数器。如果 "views" 不存在,则创建 "views" 变量,并把它设置为 1。
3.销毁 Session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量。
也可以通过调用 session_destroy() 函数彻底销毁 session。
注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。


PHP 发送电子邮件
PHP mail() 函数
PHP mail() 函数用于从脚本中发送电子邮件。
语法:mail(to,subject,message,headers,parameters)
参数 描述:
to 必需。规定 email 接收者。
subject 必需。规定 email 的主题。注释:该参数不能包含任何新行字符。
message 必需。定义要发送的消息。应使用 LF (\n) 来分隔各行。每行应该限制在 70 个字符内。
headers 可选。规定附加的标题,比如 From、Cc 和 Bcc。应当使用 CRLF (\r\n) 分隔附加的标题。
parameters 可选。对邮件发送程序规定额外的参数。
注释:PHP 需要一个已安装且正在运行的邮件系统,以便使邮件函数可用。所用的程序通过在 php.ini 文件中的配置设置进行定义。


PHP 错误处理
在 PHP 中,默认的错误处理很简单。一条错误消息会被发送到浏览器,这条消息带有文件名、行号以及描述错误的消息。
在创建脚本和 Web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。
我们将为您讲解不同的错误处理方法:
1.简单的 "die()" 语句
2.自定义错误和错误触发器
3.错误报告


PHP过滤器
如需过滤变量,请使用下面的过滤器函数之一:
filter_var() - 通过一个指定的过滤器来过滤单一的变量
filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
filter_input - 获取一个输入变量,并对它进行过滤
filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤