php速查手册

我们的PHP速查表旨在帮助任何精通PHP或提高其PHP知识的人。编程语言是Web开发中最受欢迎的语言之一。它位于世界上最流行的CMS WordPress的中心,并且还构成了JoomlaDrupal等其他平台的基础。

基础语法

我们从基础开始-如何在文件中声明PHP,编写注释和输出数据。

PHP代码格式

PHP文件以结尾.php。除了PHP本身,它们还可以包含文本,HTML,CSS和JavaScript。为了使浏览器能够识别PHP,您需要将其包装在方括号中:<?php?>

<?php
 //将PHP代码放在这里
 ?>

代码注释

像许多其他语言一样,PHP也可以添加注释。这对于为人类读者注释您的代码很重要。在PHP中,您可以通过以下几种方法:

  • // —单行注释
  • # -单行注释的另一种方法
  • /*...*//*和之间的所有内容都*/不会执行,多行注释

打印数据

在PHP中,通常使用echo或输出数据print

echo “ <h1> PHP速查表</ h1>” ;

<?php echo "<h1>PHP Cheat Sheet</h1>"; ?>

<?php
echo "<h1>PHP Cheat Sheet</h1>";
?>

这两个命令echoprint几乎相同。唯一的区别是,前者没有返回值,并且可以采用多个参数,而后者则具有返回值1,并且只能采用一个参数。

重要提示:像所有其他的PHP命令,功能echoprint不区分大小写。这意味着,当你写ECHOEcHoeCHO或任何其他变化,他们将继续工作。正如您将进一步了解的那样,这并不适用于所有情况。

函数

函数是常用代码块。它们使编程变得更加容易,因为您不必重复使用长代码段。相反,您只需创建一次,并在需要时使调用。

可以创建自己的PHP函数,但编程语言中还内置了许多函数。这个PHP速查表大部分用于此目的。

创建函数的基本语法:


function NameOfTheFunction() { //place PHP code here }

function NameOfTheFunction() {
    //place PHP code here
}

快速说明:第一部分是名称的功能(提醒:函数名称不区分大小写,变量是区分大小写)。之后,花括号之间的所有内容就是该函数定义。

变量和常量

与大多数其他编程语言类似,PHP使您可以使用变量和常量。这些是存储不同种类信息的代码段。

定义变量

要对变量执行任何操作,首先需要定义它们。在PHP中,您使用$符号表示变量,并使用分配其值=。一个典型的例子:

$ BlogPostTitle = “ PHP 速查表” ;

一些要点:

  • 变量必须以字母或下划线(_)开头,并且只能包含字母数字字符
  • PHP变量区分大小写,这意味着$myVar并且$myvar不是同一回事
  • 如果您的变量包含多个单词,则可以将其写入 $my_variable$myVariable

变量类型

变量可以采用不同类型的数据:

  • 整数 -整数是-2,147,483,648和,147,483,647之间的非十进制数。它们必须至少有一位数字且没有小数点。可以是十进制,十六进制或八进制。
  • 浮点数 —这是带小数点或指数形式的数字的名称。
  • 字符串 -这仅表示文本,我们将在下面进一步详细讨论。
  • 布尔值 -含义true / false语句。
  • 数组 —数组是存储多个值的变量。我们将在下面进一步详细讨论它们。
  • 对象 -对象存储数据和有关如何处理数据的信息。
  • 资源 -这些是对PHP之外的函数和资源的引用。
  • NULL —为NULL的变量没有任何值。

无需以某种方式声明PHP变量。它们自动采用它们包含的数据类型。

作用域

变量可以在不同的范围内使用,这意味着您可以访问脚本的一部分。这可以是全局,_局部_和静态的

在函数外部声明的任何变量都可以全局使用。这意味着它也可以在函数外部访问。

如果在函数内部声明变量,它将具有局部作用域。结果是只能在该函数中访问它。

解决此问题的一种方法是在局部变量前面加上global。这样,它将成为全局的一部分。

function myFunction() {
    global $a, $b;
    $b = $a - $b;
}

在这两种情况下,变量都将成为$GLOBALS下面提到的变量的一部分。

最后,也可以static在局部变量前面添加。这样,它在执行功能后就不会被删除,并且可以重复使用。

预定义变量

PHP还附带了许多称为_superglobals_的默认变量。这是因为无论范围如何,都可以从任何地方访问它们。

  • $GLOBALS —用于从PHP脚本中的任何位置访问全局变量
  • $_SERVER —包含有关标题,路径和脚本的位置的信息
  • $_GET —可以收集通过URL发送或以HTML格式提交的数据
  • $_POST —用于从HTML表单收集数据并传递变量
  • $_REQUEST —在提交HTML表单后也收集数据

变量处理函数

除此之外,还有很多函数可以使用变量:

  • boolval —用于检索变量的布尔值
  • debug_zval_dump —输出内部zend值的字符串表示形式
  • empty —检查变量是否为空
  • floatval—获取变量的浮点值(doubleval另一种可能性)
  • get_defined_vars —返回所有已定义变量的数组
  • get_resource_type —返回资源类型
  • gettype —检索变量类型
  • import_request_variables —将GET / POST / Cookie变量导入全局范围
  • intval —查找变量的整数值
  • is_array —检查变量是否为数组
  • is_bool —找出变量是否为布尔值
  • is_callable —验证是否可以将变量的内容作为函数调用
  • is_countable —检查变量的内容是否可计数
  • is_float-找出一个变量的类型为浮动,选择:is_doubleis_real
  • is_int—检查变量的类型是否为整数,is_integer并且is_long也可以使用
  • is_iterable —确认变量的内容是可迭代的值
  • is_null —检查变量的值是否为NULL
  • is_numeric —找出变量是数字还是数字字符串
  • is_object —确定变量是否为对象
  • is_resource —检查变量是否为资源
  • is_scalar —测试变量是否为标量
  • is_string —找出变量的类型是否为字符串
  • isset —确定是否已设置变量并且该变量不为NULL
  • print_r —提供有关变量的可读信息
  • serialize —生成可存储值的表示形式
  • settype —设置变量的类型
  • strval —检索变量的字符串值
  • unserialize —从存储的表示形式创建一个PHP值
  • unset —取消设置变量
  • var_dump —转储有关变量的信息
  • var_export —输出或返回可以解析的变量的字符串表示形式

常量

除了变量之外,您还可以定义也存储值的常量。与变量相反,它们的值不能更改,而是锁定的。

在PHP中,您可以定义一个常量:

define(name, value, true/false)

第一个是名称,第二个是常量的值,第三个参数是其名称是否区分大小写(默认为false)。

常量很有用,因为它们使您可以在一处更改整个脚本的值,而不必替换每个实例。它们本质上也是全球性的,这意味着可以从任何地方访问它们。

除了用户定义的常量之外,还有许多默认的PHP常量:

  • __LINE__ —表示文件中当前行的编号
  • __FILE__ —是文件的完整路径和文件名
  • __DIR__ —文件目录
  • __FUNCTION__ —函数名称
  • __CLASS__ —类名,包括在其中声明的名称空间
  • __TRAIT__ —特征名称,还包括名称空间
  • __METHOD__ —类方法名称
  • __NAMESPACE__ —当前名称空间的名称

PHP数组

数组是在单个变量中组织多个值的一种方法,以便可以将它们一起使用。函数用于代码块,而数组用于值–占较大信息块的占位符。

在PHP中,存在不同类型的数组:

  • 索引数组 –具有数字索引的数组
  • 关联数组 –命名键的数组
  • 多维数组 –包含一个或多个其他数组的数组

在PHP中声明数组

PHP中的数组是使用array()函数创建的。

$cms = array("WordPress", "Joomla", "Drupal");
echo "What is your favorite CMS? Is it " . $cms[0] . ", " . $cms[1] . " or " . $cms[2] . "?"

数组键可以是字符串或整数。

数组函数

PHP提供了许多用于处理数组的默认函数:

  • array_change_key_case —将数组中的所有键更改为大写或小写
  • array_chunk —将数组拆分为多个块
  • array_column —从数组的单个列中检索值
  • array_combine —将一个数组中的键和另一个数组中的值合并到一个新数组中
  • array_count_values —计算数组中的所有值
  • array_diff —比较数组,返回差(仅值)
  • array_diff_assoc —比较数组,返回差(值和键)
  • array_diff_key —比较数组,返回差(仅键)
  • array_diff_uassoc —通过用户回调函数比较数组(键和值)
  • array_diff_ukey —通过用户回调函数比较数组(仅键)
  • array_fill —用值填充数组
  • array_fill_keys —用值填充数组,指定键
  • array_filter —通过回调函数过滤数组的元素
  • array_flip —交换数组中的所有键及其关联值
  • array_intersect —比较数组并返回其匹配项(仅值)
  • array_intersect_assoc —比较数组并返回其匹配项(键和值)
  • array_intersect_key —比较数组并返回其匹配项(仅键)
  • array_intersect_uassoc —通过用户定义的回调函数(键和值)比较数组
  • array_intersect_ukey —通过用户定义的回调函数比较数组(仅键)
  • array_key_exists —检查数组中是否存在指定的键,或者: key_exists
  • array_keys —返回数组中的所有键或键的子集
  • array_map —将回调应用于给定数组的元素
  • array_merge —合并一个或几个阵列
  • array_merge_recursive —递归合并一个或多个数组
  • array_multisort —多维或多维数组的排序
  • array_pad —将指定数量的项目(具有指定值)插入数组
  • array_pop —从数组末尾删除元素
  • array_product —计算数组中所有值的乘积
  • array_push —将一个或几个元素推到数组的末尾
  • array_rand —从数组中选择一个或多个随机条目
  • array_reduce —使用用户定义的函数将数组简化为单个字符串
  • array_replace —用后面的数组中的值替换第一个数组中的元素
  • array_replace_recursive —将后面的数组中的元素递归替换为第一个数组
  • array_reverse —以相反的顺序返回数组
  • array_search —在数组中搜索给定值,如果成功,则返回第一个键
  • array_shift —从数组的开头移动元素
  • array_slice —提取数组的一部分
  • array_splice —删除阵列的一部分并将其替换
  • array_sum —计算数组中值的总和
  • array_udiff —比较数组并使用用户函数返回差值(仅值)
  • array_udiff_assoc —比较数组并使用默认值和用户函数(键和值)返回差值
  • array_udiff_uassoc —比较数组并使用两个用户函数(值和键)返回差值
  • array_uintersect —比较数组并通过用户函数返回匹配项(仅值)
  • array_uintersect_assoc —比较数组并通过默认用户功能(键和值)返回匹配项
  • array_uintersect_uassoc —比较数组并通过两个用户函数(键和值)返回匹配项
  • array_unique —从数组中删除重复的值
  • array_unshift —将一个或多个元素添加到数组的开头
  • array_values —返回数组的所有值
  • array_walk —将用户函数应用于数组中的每个元素
  • array_walk_recursive —将用户函数递归应用于数组的每个元素
  • arsort —根据值按降序对关联数组进行排序
  • asort —根据值以升序对关联数组进行排序
  • compact —创建一个包含变量及其值的数组
  • count —计算数组中的所有元素,或者使用 sizeof
  • current —返回数组中的当前元素,替代方法是 pos
  • each —从数组返回当前键和值对
  • end —将内部指针设置为数组的最后一个元素
  • extract —将变量从数组导入当前符号表
  • in_array —检查数组中是否存在值
  • key —从数组中获取密钥
  • krsort —通过键对关联数组进行反向排序
  • ksort —按键对关联数组排序
  • list —将变量分配为数组
  • natcasesort —使用独立于大小写的“自然顺序”算法对数组进行排序
  • natsort —使用“自然顺序”算法对数组进行排序
  • next —推进数组的内部指针
  • prev —向后移动内部数组指针
  • range —根据一系列元素创建一个数组
  • reset —将内部数组指针设置为其第一个元素
  • rsort —以相反的顺序对数组进行排序
  • shuffle —随机排列数组
  • sort —按照升序对索引数组进行排序
  • uasort —使用用户定义的比较函数对数组进行排序
  • uksort —使用用户定义的比较功能按键排列数组
  • usort —使用用户定义的比较函数按值对数组进行分类

PHP字符串

在编程中,语音_字符串_只不过是文本。如前所述,它们也是变量的有效值。

定义字符串

在PHP中,有几种定义字符串的方法:

  • 单引号 -这是最简单的方法。只需将文本包装在'标记中,PHP就会将其作为字符串处理。
  • 双引号 -您也可以使用"。完成后,可以使用下面的转义字符显示特殊字符。
  • heredoc-<<<开头的字符串,然后将其放在换行符中。通过重复标识符将其关闭在另一行中。heredoc行为就像双引号字符串。
  • nowdoc —是heredoc双引号字符串而不是单引号的含义。它的工作方式相同,消除了对转义符的需求。

注意:字符串可以包含变量,数组和对象。

转义字符

  • \n —换行
  • \r —回车
  • \t —水平选项卡
  • \v —垂直选项卡
  • \e —逃生
  • \f —换页
  • \\ —反斜杠
  • \$ – 美元符号
  • /' —单引号
  • \" —双引号
  • \[0-7]{1,3} —八进制表示法中的字符
  • \x[0-9A-Fa-f]{1,2} —十六进制字符
  • \u{[0-9A-Fa-f]+} —以UTF-8表示形式的字符串

字符串函数

  • addcslashes() —返回指定字符前面带有反斜杠的字符串
  • addslashes() —返回需要转义的字符前面带有反斜杠的字符串
  • bin2hex() —将ASCII字符字符串转换为十六进制值
  • chop() —从字符串的右端删除空格或其他字符
  • chr() —从指定的ASCII值返回字符
  • chunk_split() —将字符串拆分为一系列较小的块
  • convert_cyr_string() —将字符串从西里尔字符集转换为另一个
  • convert_uudecode() —解码uuencoded字符串
  • convert_uuencode() —使用uuencode编码字符串
  • count_chars() —返回有关字符串中字符的信息
  • crc32() —计算字符串的32位CRC
  • crypt() —返回哈希字符串
  • echo() —输出一个或几个字符串
  • explode() —将字符串分解为数组
  • fprintf() —将格式化的字符串写入指定的输出流
  • get_html_translation_table()—返回由htmlspecialchars()和使用的转换表htmlentities()
  • hebrev() —将希伯来语文本转换为可视文本
  • hebrevc() —将希伯来语文本转换为可视文本并实现HTML换行符
  • hex2bin() —将十六进制值转换为ASCII字符
  • html_entity_decode() —将HTML实体转换为字符
  • htmlentities() —将字符转换为HTML实体
  • htmlspecialchars_decode() -将特殊的HTML实体转换为字符
  • htmlspecialchars() —将预定义字符切换到HTML实体
  • implode() —从数组的元素中检索字符串,与 join()
  • lcfirst() —将字符串的第一个字符更改为小写
  • levenshtein() —计算两个字符串之间的Levenshtein距离
  • localeconv() —返回有关语言环境的数字和货币格式的信息
  • ltrim() —从字符串左侧删除空格或其他字符
  • md5() —计算字符串的MD5哈希值并返回
  • md5_file() —计算文件的MD5哈希值
  • metaphone() —提供字符串的变音键
  • money_format() —返回一个字符串作为货币字符串
  • nl_langinfo() -提供特定的语言环境信息
  • nl2br() —为字符串中的每个新行插入HTML换行符
  • number_format() —格式化包括成千上万的数字
  • ord() —返回字符串的第一个字符的ASCII值
  • parse_str() —将字符串解析为变量
  • print() —输出一个或几个字符串
  • printf() —输出格式化的字符串
  • quoted_printable_decode() —将带引号的可打印字符串转换为8位二进制
  • quoted_printable_encode() —从8位字符串到带引号的可打印字符串
  • quotemeta() —在元字符之前返回带反斜杠的字符串
  • rtrim() —从字符串的右侧去除空格或其他字符
  • setlocale() —设置语言环境信息
  • sha1() —计算字符串的SHA-1哈希
  • sha1_file() —对文件也一样
  • similar_text() —确定两个字符串之间的相似性
  • soundex() —计算字符串的soundex键
  • sprintf() —返回格式化的字符串
  • sscanf() —根据指定的格式解析来自字符串的输入
  • str_getcsv() —将CSV字符串解析为数组
  • str_ireplace() —用指定的替换字符替换字符串中的指定字符(不区分大小写)
  • str_pad() —将字符串填充到指定的长度
  • str_repeat() —重复字符串预设次数
  • str_replace() —替换字符串中的指定字符(区分大小写)
  • str_rot13() —对字符串执行ROT13编码
  • str_shuffle() —随机地随机排列字符串中的字符
  • str_split() —将字符串拆分为数组
  • str_word_count() —返回字符串中的单词数
  • strcasecmp() —两个字符串不区分大小写的比较
  • strcmp() —二进制安全字符串比较(区分大小写)
  • strcoll() —根据地区比较两个字符串
  • strcspn() —返回出现指定字符之前在字符串中找到的字符数
  • strip_tags() —从字符串中删除HTML和PHP标记
  • stripcslashes() – 的反面 addcslashes()
  • stripslashes() – 的反面 addslashes()
  • stripos() —查找字符串中子字符串首次出现的位置(不区分大小写)
  • stristr() —不区分大小写的 strstr()
  • strlen() —返回字符串的长度
  • strnatcasecmp() —使用“自然顺序”算法对两个字符串进行不区分大小写的比较
  • strnatcmp() —与上述相同,但区分大小写
  • strncasecmp() —定义数目的字符的字符串比较(不区分大小写)
  • strncmp() —与上述相同,但区分大小写
  • strpbrk() —在字符串中搜索任意数量的字符
  • strpos() —返回子字符串在字符串中首次出现的位置(区分大小写)
  • strrchr() —查找另一个字符串中最后一次出现的字符串
  • strrev() —反转字符串
  • strripos() —查找最后一次出现的字符串子字符串的位置(不区分大小写)
  • strrpos()—与相同,strripos()但区分大小写
  • strspn() —字符串中的字符数,只有指定列表中的字符
  • strstr() —区分大小写的搜索在另一个字符串中第一次出现的字符串
  • strtok() —将字符串拆分为较小的块
  • strtolower() —将字符串中的所有字符转换为小写
  • strtoupper() —同样,但大写字母
  • strtr() —翻译字符串中的某些字符,或者: strchr()
  • substr() —返回字符串的指定部分
  • substr_compare() —比较从指定的起始位置到特定长度的两个字符串,可以区分大小写
  • substr_count() —计算字符串中子字符串出现的次数
  • substr_replace() —用其他东西代替子串
  • trim() —从字符串的两侧删除空格或其他字符
  • ucfirst() —将字符串的第一个字符转换为大写
  • ucwords() —将字符串中每个单词的第一个字符转换为大写
  • vfprintf() —将格式化的字符串写入指定的输出流
  • vprintf() —输出格式化的字符串
  • vsprintf() —将格式化的字符串写入变量
  • wordwrap() —将字符串缩短为给定数目的字符

PHP运算符

运算符使您可以对值,数组和变量执行操作。有几种不同的类型。

算术运算符

您的标准数学运算符。

  • + —加法
  • - —减法
  • * —乘法
  • / —除法
  • % —模数(剩余价值除以另一个)
  • ** —求幂

赋值运算符

除了标准的赋值运算符(=),您还可以选择以下选项:

  • += — a + = b与a = a + b相同
  • -= — a-= b与a = a – b相同
  • *= — a * = b与a = a * b相同
  • /= — a / = b与a = a / b相同
  • %= — a%= b与a = a%b相同

比较运算符

  • == —平等
  • === —相同
  • != —不相等
  • <> —不相等
  • !== —不一样
  • < – 少于
  • > – 大于
  • <= —小于或等于
  • >= —大于或等于
  • <=> —小于,等于或大于

逻辑运算符

  • and — 并且
  • or – 或者
  • xor —异或
  • ! —不
  • && —并且
  • || – 或者

按位运算符

  • & —与
  • | —或(包括或)
  • ^ —异或(不包括)
  • ~ —不
  • << —左移
  • >> —右移

错误控制运算符

您可以使用该@符号来防止表达式生成错误消息。出于安全原因,这通常很重要,例如,为了确保机密信息的安全。

执行运算符

PHP支持一个执行运算符,即 (反引号)。这些不是单引号!PHP将尝试将反引号的内容作为shell命令执行。

增/减运算符

  • ++$v —将变量加1,然后返回
  • $v++ —返回变量,然后将其递增一
  • --$v —将变量减一,然后返回
  • $v-- —返回变量,然后将其减一

字符串运算符

  • . —用于连接(平均合并)参数
  • .= —用于将右侧的参数附加到左侧的参数

PHP中的循环

循环在编程中非常常见。它们使您可以在不同情况下运行同一段代码。PHP有几种不同的方法。

For循环

for(var i =0 ;i < $max; $++) {

}

Foreach循环

foreach($list as $key=>$item) {

}

While循环

while($a) {

}

DO…While循环

do {

} while($a)

IF语句

if / else语句类似于循环。它们是仅在某些情况下运行代码的语句。您有几种选择:

if

如果一个条件为真,则执行代码。

if (condition) {
    // code to execute if condition is met
}

If…Else

如果条件为真,则运行一段代码,否则为另一条代码。

if (condition) {
    // code to execute if condition is met
} else {
    // code to execute if condition is not met
}

IF… Elseif … Else

针对两个以上的条件执行不同的代码段。

if (condition) {
    // code to execute if condition is met
} elseif (condition) {
    // code to execute if this condition is met
} else {
    // code to execute if none of the conditions are met
}

Switch

switch (n) {
    case x:
        code to execute if n=x;
        break;
    case y:
        code to execute if n=y;
        break;
    case z:
        code to execute if n=z;
        break;
    // add more cases as needed
    default:
        code to execute if n is neither of the above;
}

在PHP中使用表单

PHP通常用于处理Web表单。特别是,上述$_GET$_POST帮助收集通过表单发送的数据。两者都可以从输入字段捕获值,但是它们的用法不同。

使用GET vs POST

GET通过URL参数收集数据。这意味着所有变量名及其值都包含在页面地址中。

这样做的好处是您可以将信息添加为书签。请记住,这也意味着该信息对所有人都是可见的。因此,GET不适合用于敏感信息,例如密码。它还限制了可以发送的大约2000个字符的数据量。

另一方面,POST使用HTTP POST方法来传递变量。这使得数据在HTTP正文中发送时对第三方不可见。您无法为其添加书签。

使用POST,您可以发送的信息量没有限制。除此之外,它还具有高级功能,因此受到开发人员的青睐。

表格安全

Web表单最重要的问题是安全性。如果设置不正确,它们很容易遭受跨脚本攻击。黑客将脚本添加到不安全的Web表单中,以将其用于自己的目的。

PHP还提供了阻止这些攻击的工具,即:

  • htmlspecialchars()
  • trim()
  • stripslashes()

您会注意到在字符串的上一节中我们遇到了所有这些功能。当您将它们包含在收集表单数据的脚本中时,可以有效地删除有害脚本,使它们失去功能所需的字符,从而使其无法使用。

必填字段,错误消息和数据验证

除此之外,PHP能够定义必填字段(如果不填写表单就不能提交表单),如果缺少某些信息则显示错误消息并验证数据。我们已经讨论了必要的工具。

例如,您可以简单地为表单字段定义变量,然后使用该empty()函数检查它们是否具有值。之后,创建一个简单的if / else语句以发送提交的数据或输出错误消息。

下一步是检查提交的数据的有效性。为此,PHP提供了许多过滤器,例如,FILTER_VALIDATE_EMAIL确保提交的电子邮件地址具有正确的格式。

PHP过滤器

筛选器用于验证和筛选来自不安全来源的数据。如上所述,一个常见的示例是用户输入。PHP为此提供了许多过滤器函数和常量:

过滤函数

  • filter_has_var() —检查指定类型的变量是否存在
  • filter_id() —返回属于命名过滤器的ID
  • filter_input() —按名称检索指定的外部变量,并可以选择对其进行过滤
  • filter_input_array() —提取外部变量并选择过滤它们
  • filter_list() —返回所有支持的过滤器的列表
  • filter_var_array() —获取多个变量并选择过滤它们
  • filter_var() —使用指定的过滤器过滤变量

过滤常量

  • FILTER_VALIDATE_BOOLEAN —验证布尔值
  • FILTER_VALIDATE_EMAIL —验证电子邮件地址
  • FILTER_VALIDATE_FLOAT —确认浮动
  • FILTER_VALIDATE_INT —验证整数
  • FILTER_VALIDATE_IP —验证IP地址
  • FILTER_VALIDATE_REGEXP —确认正则表达式
  • FILTER_VALIDATE_URL —验证URL
  • FILTER_SANITIZE_EMAIL —从电子邮件地址中删除所有非法字符
  • FILTER_SANITIZE_ENCODED —删除/编码特殊字符
  • FILTER_SANITIZE_MAGIC_QUOTES —适用 addslashes()
  • FILTER_SANITIZE_NUMBER_FLOAT —删除所有字符,除了数字+和-.eE
  • FILTER_SANITIZE_NUMBER_INT —除去数字和+ –以外的所有字符
  • FILTER_SANITIZE_SPECIAL_CHARS —删除特殊字符
  • FILTER_SANITIZE_FULL_SPECIAL_CHARS —将特殊字符转换为HTML实体
  • FILTER_SANITIZE_STRING —从字符串中删除标签/特殊字符,替代: FILTER_SANITIZE_STRIPPED
  • FILTER_SANITIZE_URL —清除网址中的所有非法字符
  • FILTER_UNSAFE_RAW —不执行任何操作,可以选择去除/编码特殊字符
  • FILTER_CALLBACK —调用用户定义的函数来过滤数据

PHP中的HTTP函数

PHP还具有处理从Web服务器发送到浏览器的数据的功能。

HTTP功能

  • header() —将原始HTTP标头发送到浏览器
  • headers_list() —准备发送(或已发送)的响应头的列表
  • headers_sent() —检查是否已发送HTTP标头以及在何处发送HTTP标头
  • setcookie() —定义要与其他HTTP标头一起发送的cookie
  • setrawcookie() —定义要发送的Cookie(无URL编码)

MySQL

许多基于PHP的平台都在后台使用MySQL数据库。因此,熟悉允许您使用它们的功能很重要。

MySQL函数

  • mysqli_affected_rows() —先前的MySQL操作中受影响的行数
  • mysqli_autocommit() —打开或关闭自动提交的数据库修改
  • mysqli_change_user() —更改指定数据库连接的用户
  • mysqli_character_set_name() —数据库连接的默认字符集
  • mysqli_close() —关闭打开的数据库连接
  • mysqli_commit() —提交当前交易
  • mysqli_connect_errno() —来自上次连接错误的错误代码
  • mysqli_connect_error() —来自上次连接错误的错误描述
  • mysqli_connect() —打开与MySQL服务器的新连接
  • mysqli_data_seek() —将结果指针移动到结果集中的任意行
  • mysqli_debug() —执行调试操作
  • mysqli_dump_debug_info() —将调试信息转储到日志中
  • mysqli_errno() —最近一次函数调用的最后一个错误代码
  • mysqli_error_list() —最近一次函数调用的错误列表
  • mysqli_error() —最近一次函数调用的最新错误描述
  • mysqli_fetch_all() —获取所有结果行作为数组
  • mysqli_fetch_array() —获取结果行作为关联数组,数字数组或两者兼有
  • mysqli_fetch_assoc() —获取结果行作为关联数组
  • mysqli_fetch_field_direct() —将单个字段的元数据作为对象
  • mysqli_fetch_field() —结果集中的下一个字段作为对象
  • mysqli_fetch_fields() —代表结果集中字段的对象数组
  • mysqli_fetch_lengths() —结果集中当前行的列长
  • mysqli_fetch_object() —结果集的当前行作为对象
  • mysqli_fetch_row() —从结果集中获取一行并将其作为枚举数组返回
  • mysqli_field_count() —最近查询的列数
  • mysqli_field_seek() —将字段光标设置为给定的字段偏移量
  • mysqli_field_tell() —字段光标的位置
  • mysqli_free_result() —释放与结果关联的内存
  • mysqli_get_charset() —字符集对象
  • mysqli_get_client_info() — MySQL客户端库版本
  • mysqli_get_client_stats() —返回客户端每个进程的统计信息
  • mysqli_get_client_version() — MySQL客户端库版本为整数
  • mysqli_get_connection_stats() —有关客户端连接的统计信息
  • mysqli_get_host_info() — MySQL服务器的主机名和连接类型
  • mysqli_get_proto_info() — MySQL协议版本
  • mysqli_get_server_info() —返回MySQL服务器版本
  • mysqli_get_server_version() — MySQL服务器版本为整数
  • mysqli_info() —返回有关最近执行的查询的信息
  • mysqli_init() —初始化MySQLi,并返回用于 mysqli_real_connect()
  • mysqli_insert_id() —返回上一次查询中使用的自动生成的ID
  • mysqli_kill() —要求服务器终止MySQL线程
  • mysqli_more_results() —检查多重查询是否还有更多结果
  • mysqli_multi_query() —对数据库执行一个或多个查询
  • mysqli_next_result() —从中准备下一个结果集 mysqli_multi_query()
  • mysqli_num_fields() —结果集中的字段数
  • mysqli_num_rows() —结果集中的行数
  • mysqli_options() —设置额外的连接选项并影响连接行为
  • mysqli_ping() — ping服务器连接或尝试断开连接(如果断开)
  • mysqli_prepare() —准备要执行的SQL语句
  • mysqli_query() —对数据库执行查询
  • mysqli_real_connect() —打开与MySQL服务器的新连接
  • mysqli_real_escape_string() —转义字符串中的特殊字符以用于SQL语句
  • mysqli_real_query() —执行一个SQL查询
  • mysqli_reap_async_query() —返回异步查询的结果
  • mysqli_refresh() —刷新表或缓存或重置复制服务器信息
  • mysqli_rollback() —回滚数据库的当前事务
  • mysqli_select_db() —更改连接的默认数据库
  • mysqli_set_charset() —设置默认的客户端字符集
  • mysqli_set_local_infile_default() —为LOAD LOCAL INFILE命令取消用户定义的处理程序
  • mysqli_set_local_infile_handler() —为LOAD DATA LOCAL INFILE命令设置回调函数
  • mysqli_sqlstate() —返回上一次MySQL操作的SQLSTATE错误代码
  • mysqli_ssl_set() —使用SSL建立安全连接
  • mysqli_stat() —当前系统状态
  • mysqli_stmt_init() —初始化一条语句并返回一个对象以用于 mysqli_stmt_prepare()
  • mysqli_store_result() —传输上一个查询的结果集
  • mysqli_thread_id() —当前连接的线程ID
  • mysqli_thread_safe() —返回客户端库是否被编译为线程安全的
  • mysqli_use_result() —从使用以下命令执行的最后一个查询开始检索结果集 mysqli_real_query()
  • mysqli_warning_count() —来自连接中最后一个查询的警告数

日期和时间

当然,任何PHP速查表都不应缺少日期和时间的PHP函数。

日期/时间功能

  • checkdate() —检查公历日期的有效性
  • date_add() —向日期对象添加天,月,年,小时,分钟和秒
  • date_create_from_format() —返回格式化的DateTime对象
  • date_create() —创建一个新的DateTime对象
  • date_date_set() —设置新日期
  • date_default_timezone_get() —返回所有功能使用的默认时区
  • date_default_timezone_set() —设置默认时区
  • date_diff() —计算两个日期之间的差
  • date_format() —返回根据特定格式格式化的日期
  • date_get_last_errors() —返回在日期字符串中发现的警告或错误
  • date_interval_create_from_date_string() —从字符串的相对部分设置DateInterval
  • date_interval_format() —格式化间隔
  • date_isodate_set() —根据ISO 8601标准设置日期
  • date_modify() —修改时间戳
  • date_offset_get() —返回时区的偏移量
  • date_parse_from_format() —根据指定的格式返回一个数组,其中包含有关指定日期的详细信息
  • date_parse() —返回一个数组,其中包含有关指定日期的详细信息
  • date_sub() —从日期中减去天,月,年,小时,分钟和秒
  • date_sun_info() —返回一个数组,其中包含有关指定日期和位置的日落/日出和暮光开始/结束的信息
  • date_sunrise() —指定日期和位置的日出时间
  • date_sunset() —指定日期和位置的日落时间
  • date_time_set() —设置时间
  • date_timestamp_get() —返回Unix时间戳
  • date_timestamp_set() —根据Unix时间戳设置日期和时间
  • date_timezone_get() —返回给定DateTime对象的时区
  • date_timezone_set() —设置DateTime对象的时区
  • date() —格式化本地日期和时间
  • getdate() —时间戳记的日期/时间信息或当前本地日期/时间
  • gettimeofday() —当前时间
  • gmdate() —格式化GMT / UTC日期和时间
  • gmmktime() — GMT日期的Unix时间戳
  • gmstrftime() —根据语言环境设置格式化GMT / UTC日期和时间
  • idate() —将本地时间/日期格式化为整数
  • localtime() —当地时间
  • microtime() —当前的Unix时间戳,以微秒为单位
  • mktime() —日期的Unix时间戳
  • strftime() —根据语言环境设置格式化本地时间和/或日期
  • strptime() —解析使用生成的时间/日期 strftime()
  • strtotime() —将英文文本DateTime转换为Unix时间戳
  • time() —当前时间(以Unix时间戳记)
  • timezone_abbreviations_list() —返回一个包含dst,offset和时区名称的数组
  • timezone_identifiers_list() —具有所有时区标识符的索引数组
  • timezone_location_get() —指定时区的位置信息
  • timezone_name_from_abbr() —通过缩写返回时区名称
  • timezone_name_get() —时区名称
  • timezone_offset_get() —与格林尼治标准时间的时区偏移
  • timezone_open() —创建一个新的DateTimeZone对象
  • timezone_transitions_get() —返回时区的所有转换
  • timezone_version_get() —返回timezonedb的版本

日期和时间格式

  • d — 01至31
  • j — 1至31
  • D —周一至周日
  • l —周日至周六
  • N — 1(星期一)至7(星期六)
  • w — 0(对于Sun)至6(对于Sat)
  • m —月,从01到12
  • n — 1至12个月
  • F —一月到十二月
  • M —一月至十二月
  • Y —四位数年份(例如,2018年)
  • y —两位数年份(例如18)
  • L —定义是a年(1还是0)
  • a —上午和下午
  • A —上午和下午
  • g — 1至12小时
  • h — 01至12小时
  • G — 0至23小时
  • H —小时00到23
  • i — 00至59分钟
  • s —秒00到59

PHP错误

错误函数

  • debug_backtrace() —用于生成回溯
  • debug_print_backtrace() —打印回溯
  • error_get_last() —获取最后发生的错误
  • error_log() —将错误消息发送到Web服务器的日志,文件或邮件帐户
  • error_reporting() —指定报告哪些PHP错误
  • restore_error_handler() —恢复为先前的错误处理程序功能
  • restore_exception_handler() —返回上一个异常处理程序
  • set_error_handler() —设置用户定义的函数来处理脚本错误
  • set_exception_handler() —设置用户定义的异常处理函数
  • trigger_error() —生成用户级别的错误消息,您也可以使用user_error()

错误常量

  • E_ERROR —致命的运行时错误,导致脚本暂停,无法从中恢复
  • E_WARNING —非致命的运行时错误,脚本继续执行
  • E_PARSE —编译时解析错误,仅应由解析器生成
  • E_NOTICE —指示可能错误的运行时通知
  • E_CORE_ERROR— PHP初始化时发生致命错误,例如E_ERRORPHP核心中的错误
  • E_CORE_WARNING— PHP启动时发生非致命错误,类似于E_WARNING但在PHP核心中
  • E_COMPILE_ERROR — Zend脚本引擎生成的致命编译时错误
  • E_COMPILE_WARNING -Zend脚本引擎的非致命编译时错误
  • E_USER_ERROR —致命的用户生成的错误,由程序员使用 trigger_error()
  • E_USER_WARNING —非致命的用户生成的警告
  • E_USER_NOTICE —用户生成的通知 trigger_error()
  • E_STRICT — PHP提出的改进代码的建议(需要启用)
  • E_RECOVERABLE_ERROR —用户定义的句柄捕获的可捕获的致命错误
  •  E_DEPRECATED —启用此功能可接收有关不符合未来需求的代码的警告
  • E_USER_DEPRECATED —用户生成的不赞成使用的代码警告
  • E_ALL —所有错误和警告,但 E_STRICT

结论

上面的PHP速查表为您提供了PHP某些主要部分的概述,将其作为参考书签或用作跳板,以了解有关编程语言的更多信息。

如何生成PHP扩展编写的基本框架?
PHP中异步处理,多线程或多任务实现
Tags: