PHP001

打印 上一主题 下一主题

主题 647|帖子 647|积分 1941

PHP变量规则


  • 变量以$符号开头,其后是变量的名称;
  • 变量名称必须已字母或者下划线开头;
  • 变量名称不能以数字开头;
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9以及 _ );
  • 变量名称对大小写敏感($y和$Y是两个不同的变量)
注释:PHP变量名称对大小写敏感
创建PHP变量

PHP变量没有创建变量的命令。变量会在首次为其赋值时被创建。
PHP是一门类型松散的语言

注意我们不必告知PHP变量的数据类型。
PHP根据它的值,自动把变量转换为正确的数据类型。
在诸如C和C++以及Java之类的语言中,程序员必须在使用变量之前声明他的名称和类型。
PHP变量作用域


  • local(局部)
  • global(全局)
  • static(静态)
PHP global关键词

global关键词用于在函数内访问全局变量,即可以在函数内部变量前面使用global关键词。
PHP同时在名为$GLOBALS[index]的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。如:


PHP static关键词

通常在函数完成/执行后,会删除所有的变量。不过,有时我需要不删除某个局部变量,可以在函数内首次声明变量时使用static关键词。
PHP echo和print语句


  • echo 能够输出一个以上的字符串;
  • print 只能输出一个字符串,并始终返回1。
PHP数据类型

var_dump() 返回变量的数据类型和值。
PHP数组的数据类型:

PHP字符串函数

strlen():返回字符串的长度。
str_word_count() : 对字符串中的 单词进行计数。
strrev() : 反转字符串。
strpos() :用于检索字符串内指定的字符或者文本,如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
str_replace() 函数用一些字符串替换字符串中的另一些字符。
PHP常量

常量名称前面没有$符号,与变量不同,常量贯穿整个脚本是自动全局的。
如需设置常量,请使用 define() 函数 - 它使用三个参数:

  • 首个参数定义常量的名称
  • 第二个参数定义常量的值
  • 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。

PHP字符串运算符


PHP比较运算符

PHP比较运算符用于比较两个值(数字或者字符串):


PHP数组运算符


PHP foreach循环

foreach循环只适用于数组,并用于便利数组中的每一个键/值对。
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
PHP函数

函数名对大小写不敏感。
PHP数组

在 PHP 中,有三种数组类型:

  • 索引数组 - 带有数字索引的数组

  • 关联数组 - 带有指定键的数组


  • 多维数组 - 包含一个或多个数组的数组
count()函数用于返回数组的长度。
PHP中数组的排序函数


  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序
PHP全局变量——超全局变量

超全局变量在PHP4.1.0中引入,是在全部作用域中始终可用的内置变量。在函数或方法中无需执行 global $variable; 就可以访问它们。https://www.w3school.com.cn/php/php_superglobals.asp

  • $GLOBALS
$GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。

  • $_SERVER  保存关于报头、路径和脚本位置的信息。
  • $_REQUEST  用于收集 HTML 表单提交的数据。
  • $_POST   广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。
  • $_GET   可用于收集提交 HTML 表单 (method="get") 之后的表单数据; 也可以收集 URL 中的发送的数据。
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)。
GET vs. POST

GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value3, ...))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据。
GET 和 POST 被视作 $_GET 和 $_POST。它们是超全局变量,这意味着对它们的访问无需考虑作用域 - 无需任何特殊代码,您能够从任何函数、类或文件访问它们。
$_GET 是通过 URL 参数传递到当前脚本的变量数组。
$_POST 是通过 HTTP POST 传递到当前脚本的变量数组。
何时使用 GET?

通过 GET 方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中)。GET 对所发送信息的数量也有限制。限制在大约 2000 个字符。不过,由于变量显示在 URL 中,把页面添加到书签中也更为方便。
GET 可用于发送非敏感的数据。
何时使用 POST?

通过 POST 方法从表单发送的信息对其他人是不可见的(所有名称/值会被嵌入 HTTP 请求的主体中),并且对所发送信息的数量也无限制
此外 POST 支持高阶功能,比如在向服务器上传文件时进行 multi-part 二进制输入。
不过,由于变量未显示在 URL 中,也就无法将页面添加到书签。
什么是 $_SERVER["PHP_SELF"] 变量?

$_SERVER["PHP_SELF"] 是一种超全局变量,它返回当前执行脚本的文件名。该变量能够被黑客利用进行XSS攻击。
因此,$_SERVER["PHP_SELF"] 将表单数据发送到页面本身,而不是跳转到另一张页面。这样,用户就能够在表单页面获得错误提示信息。

什么是 htmlspecialchars() 函数?

htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。

在用户提交该表单时,我们还要做两件事:

  • (通过 PHP trim() 函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
  • (通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠(\)
我们可以创建一个test_input() 函数,用于检查每个 $_POST 变量

preg_match() 函数

检索字符串的模式,如果模式存在则返回 true,否则返回 false。例如检查输入的字段是否包含字母和空格。
以下的代码用于验证URL:

PHP ——如何在用户提交表单后保留输入字段中的值


(PHP基础教程和PHP表单部分到此结束!!!)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表