PHP基础-(变量,常量,表达式)

变量-常量-表达式

 

 

变量

初始化变量

PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。

变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'。

 

 

引用变量

PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。



 

变量范围

大部分的 PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件。

 

 

global 超全局标量类似于$_SERVER

在函数中声明了全局变量 $a 和 $b 之后,对任一变量的所有引用都会指向其全局版本。对于一个函数能够声明的全局变量的最大个数,PHP 没有限制。

 

static 静态变量

变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。



//变量 $a 仅在第一次调用 test() 函数时被初始化,之后每次调用 test() 函数都会输出 $a 的值并加一。

静态变量也提供了一种处理递归函数的方法。递归函数是一种调用自己的函数。写递归函数时要小心,因为可能会无穷递归下去。必须确保有充分的方法来中止递归。

 

可变变量

就是说,一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置



 

 

 

超全局变量

$GLOBALS — 引用全局作用域中可用的全部变量

 

$_SERVER

一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。这也就意味着大量的此类变量都会在» CGI 1.1 规范中说明,所以应该仔细研究一下。


echo $_SERVER['SERVER_NAME'];          // localhostecho $_SERVER['HTTP_HOST'];            // localhostecho $_SERVER['PHP_SELF'];         // /PHPDemo/demo.phpecho $_SERVER['SCRIPT_NAME'];          // /PHPDemo/demo.phpecho $_SERVER['HTTP_REFERER'];         // http://localhost/PHPDemo/echo $_SERVER['HTTP_USER_AGENT'];      // Mozilla/5.0 (Windows NT 10.0; Win64; x64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36



$_SERVER['REMOTE_ADDR']  浏览当前页面的用户的 IP 地址$_SERVER['REMOTE_HOST']  浏览当前页面的用户的主机名$_SERVER['REMOTE_PORT']  用户机器上连接到 Web 服务器所使用的端口号$_SERVER['SERVER_ADDR']	 当前运行脚本所在的服务器的 IP 地址    $_SERVER['SERVER_NAME']	 当前运行脚本所在的服务器的主机名$_SERVER['SERVER_PORT']	 当前运行脚本所在的服务器的端口号$_SERVER['REQUERT_METHOD']  访问页面使用的请求方法$_SERVER['REQUERT_TIME']  请求开始时的时间戳$_SERVER['REQUEST_URI']  URI 用来指定要访问的页面$_SERVER['QUERY_STRING'] query string(查询字符串),如果有的话,通过它进行页面访问。$_SERVER['SCRIPT_FILENAME']  当前执行脚本的绝对路径。$_SERVER['HTTP_HOST']  当前访问页面的域名//当前访问页面的地址 $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI'] 



 

$_GET

PHP $_GET 广泛用于收集提交 method=”get” 的 HTML 表单后的表单数据。

 

$_POST

PHP $_POST 广泛用于收集提交 method=”post” 的 HTML 表单后的表单数据。

 

$_FILES

存储各种与上传文件有关的信息


"; // 头像.pngecho $_FILES["myFile"]["size"] . "
"; // 142344echo $_FILES["myFile"]["tmp_name"] . "
"; // D:\wamp64\tmp\phpFDC5.tmpecho $_FILES["myFile"]["type"] . "
"; // image/pngecho $_FILES['myFile']['error'] . "
"; // 0?>


 

$_COOKIE

将用户的会话数据存储在客户端浏览器


';echo nl2br($content); // nl2br 在字符串所有新行之前插入 HTML 换行标记 
?>


 

$_SESSION

将用户的会话数据存储在服务端


"; // 显示当前的session_idecho $_SESSION['sessionName']; // 读取 session 的值 unset($_SESSION['sessionName']); //销毁一个sessionvar_dump($_SESSION);?>


 

$_REQUEST 用于收集 HTML 表单提交的数据。 method=”GET” 和 method=”POST” 都适应

 

$_ENV

PHP中的$_ENV是一个包含服务器端环境变量的数组。

 

 

 

常量

可以用 define() 函数来定义常量

常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。用正则表达式是这样表达的:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*。

define("CONSTANT", "Hello world.");

 

魔术常量

PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

__LINE__ 文件中的当前行号。

__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =

__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。

__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。

__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

 

 

表达式

最基本的表达式形式是常量和变量

因为赋值操作的顺序是由右到左的,也可以这么写“$b = $a =5”。

HP 和多数其它语言的用户应该比较熟悉变量 ++ 和变量 -- 符号写做“++$variable”,求增加后的值(PHP 在读取变量的值之前,增加变量的值,因而称之为“前递增”)。后递增,写做“$variable++”,求变量未递增之前的原始值(PHP 在读取变量的值之后,增加变量的值,因而叫做“后递增”)。

 

一个常用到表达式类型是比较表达式。这些表达式求值 FALSE 或 TRUE。支持 >(大于),>=(大于等于),==(等于),!=(不等于),<(小于),<= (小于等于)。PHP 还支持全等运算符 ===(值和类型均相同)和非全等运算符 !==(值或者类型不同)。这些表达式都是在条件判断语句,比如,if 语句中最常用的。

 

三元条件运算符$first ? $second : $third

你可能感兴趣的:(php)