php 字义常量,PHP的常量与变量

本文详细介绍了PHP中的常量和变量。常量使用define()函数定义,全局有效,不可更改。系统常量如__FILE__、__LINE__提供运行时信息。变量遵循弱类型,无需显式声明,使用$符号定义,可使用引用赋值和可变变量。变量作用域包括局部、全局和静态,静态变量在函数退出后仍保留其值。
摘要由CSDN通过智能技术生成

PHP是一种HTML嵌入式的脚本语言。语法很灵活,混合了C、Java、Perl以及PHP自创新的语法。

1.常量:

如果一个值在程序执行过程中始终保存不变,就称为常量(Constant)。PHP中的常量可以是表示某一数值的字符或字符串,常被用来标识、测量和比较。

1)常量的声明和使用:

PHP默认约定常量的标识符总是大写,而且常量的作用范围是全局,可以在脚本的任何地方访问。合法的常量名以字母或下划线开始,后面跟任何字母、数字或下划线,字母总是大写。常量一旦定义,就不能再改变或者取消定义。常量只能包含单一类型的数据,如整型或者字符串。获取常量值时,需要指定常量的名字,但不需要加上$符号。PHP系统常量以__开头,自定义常量尽量不以__开头。

PHP中,使用define()函数定义常量,并能够赋值,语法格式为:

boolean define(string name, mixed value [, bool case_insensitive])

其中,name表示要定义的常量名称;value表示常量的值;case_insensitive表示在引用该常量时是否区分大小写,如果该值为true表示不区分大小写。

在PHP5.3以后版本中,可以使用const关键字在类定义的外部定义常量。一个常量一旦被定义,就不能再改变或者取消定义。

如果使用了一个未定义的常量,PHP假定想要的是该常量本身的名字,如图用字符串调用它一样(HELLO对应"HELLO"),同时将发出一个E_NOTICE级的错误。示例:

//合法的常量名

define("PI", "3.1415926");

define("MAXLENGTH", "100M");

define("TITLE", "PHP视频大全");

//PHP5.3之后新增的常量命名方式

const MIN_VALUE=0.0;

const MAX_VALUE=1.0;

?>

2)系统常量:

PHP为运行时的脚本提供了大量的预定义常量,简称系统常量。这些常量中的很多都是由扩展库定义的,只有在加载了这些扩展库时才会出现。

常量名

说明

注意

__file__

当前PHP程序文件名

前后都是双下划线

__line__

当前执行语句在PHP程序文件中的行数

前后都是双下划线

PHP_VERSION

当前PHP版本号

PHP必须大写

PHP_OS

当前所用操作系统类型

PHP必须大写

E_ERROR

指明最近一次产生不可恢复的错误

大写

E_WARING

指出有错误,但程序可以继续

大写

E_PARSE

语法错误,分析器将被停止分析

大写

E_NOTICE

产生异常,但不一定是错误,程序可以继续

大写

2.变量:

程序中使用最多的是变量,是在程序运行过程中随时可以发生变化的量,其值是临时的,当程序运行时存在,程序一旦结束,变量的值也随之丢失。

1)变量的命名规则:

在使用变量之前必须先创建,创建时首先需要定义变量的名称。PHP中,变量名区分大小写,并且必须以$符号开头,然后是变量名。

变量的命名规则:变量名必须以字母或下划线“_”开头;变量名只能包含字母、数字、字符以及下划线;变量名不能包含空格,如果变量名由多个单词组成,应用下划线分隔,或者以大写字母开头,如$my_php_root、$MyPHPRoot。变量名可以使用中文,但不推荐。

2)变量赋值:

PHP是一种弱类型语言,不需要显示声明变量,所以变量声明可以与赋值同时进行。变量赋值有两种方式。

①值赋值:

PHP的变量默认使用传值进行赋值,它将直接把一个数值通过赋值表达式(“=”)赋值给变量,然后该值将覆盖变量原来的值。当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响另外一个变量。

PHP会在运行时检查变量类型,而且允许同一变量使用不同类型的值。虽然PHP中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值,其中布尔类型的变量默认值是false,整型和浮点型变量默认值是零,字符串型默认值是空字符串,数组变量的默认值是空数组。示例:

$bookName="PHP编程基础实践教程";

$days=30;

$bookName=$days;

②引用赋值:

引用赋值是指所创建的变量与另一个变量引用的内容相同,当原始变量的内容变化时,新变量也会同时更新。使用方法为:在等号后面添加一个&符号,即“=&”,就可以完成引用赋值。

$city1="henan";

$city2=&$city1;

$city1="hunan";

3)可变变量:

可变变量是一种特殊类型的变量,它与变量的引用方式赋值非常类似,都可以动态地设置和使用。例如:

$str="hello";

可变变量是获取一个普通变量的值作为这个可变变量的名称。例如,使用两个$符号即可创建上面例子中的变量名称的可变变量。

$$str="world";

这就创建了两个变量,$str的值是“hello”,而$hello的值是“world”。

可以使用如下代码来进行输出:

echo "$str ${$str}";

也可以简化为:

echo "$str $hello";

输出结果都是:

hello world

4)系统变量:

PHP提供了大量的系统变量,其中许多变量依赖于运行服务器的版本、设置及其他因素。

变量名

说明

$GLOBALS

包含一个引用指向每个当前脚本的全局范围内有效的变量,该数组的键标为全局变量的名称

$_SERVER

变量由Web服务器设定或者直接与当前脚本的执行环境相关联

&_GET

经由HTTP GET方法提交至脚本的变量

$_POST

经由HTTP POST方法提交至脚本的变量

$_COOKIE

经由HTTP Cookies方法提交至脚本的变量

$_FILES

经由HTTP POST文件上传而提交至脚本的变量

$_ENV

执行环境提交至脚本的变量

$_REQUEST

经由GET、POST和COOKIE机制提交至脚本的变量

$_SESSION

当前注册给脚本会话的变量

$php_errormsg

前一个错误信息

$HTTP_RAW_POST_DATA

原生POST数据

$http_response_header

HTTP响应头

$argc

传递给脚本的参数数目

$argv

传递给脚本的参数数组

5)变量作用域:

变量作用域是指在变量声明之后它的有效作用范围。变量作用域与声明位置有关。

①局部变量:

局部变量的作用域与它声明的位置有关,并且只在指定的范围内有效。例如,在函数内声明的变量,作用域为整个函数;在类中声明的变量,作用域为整个类;如果超出函数或者类的范围就不能访问该变量,并且不可见。

②全局变量:

全局变量的作用域最大,可以在整个PHP程序中的任何地方访问。声明全局变量的关键字global,需要在函数内才能使用。

使用全局变量时一定要注意,一旦任何地方修改了全局变量的值,全局变量的值就发生了改变,这样很容易导致数据被意外修改。

③静态变量:

静态变量仅可以用在函数内,其值在函数退出时不会丢失,并且再次调用此函数时还能保留值。声明静态变量时需要使用static关键字。

利用静态变量在函数内有效的特性,可以实现递归函数功能。示例:

function test()

{

static $count=1;//使用静态变量声明初始值

echo $count;//输出

$count+=2;

if ($count<10)  {//判断是否超出范围

test();

}

}

test();//调用test()函数

?>

上面的递归函数实现输出10以内的奇数。

④函数变量:

函数变量,指的是在创建函数时,放在函数名后面括号内声明的变量。函数变量只在函数内部有效,退出函数后就无法访问这些变量。示例:

function UserLogin($username)

函数参数也可以称为局部变量,因为这些参数只在函数内部起作用,在函数外部不能访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值