内容简介:PHP 常量与变量
写在前面
常量用于存储不经常改变的数据信息的量,常量的值被定义后,在程序整个执行期间,这个值都有效,并且不可再次赋值。
变量用于存数数据临时数据信息,是编写程序中尤为重要的一部分,在定义变量的时候,通常要为其赋值,所以定义变量同事,系统会自动为该变量分配一个存储空间来存储变量的值。
常量
1.声明和使用常量
1) 使用 define() 函数声明常量
// 语法 define(string constant_name,mixed value,case_sensitive = true) // 定义 常量:welcome 值:'hello world' define('welcome','hello world');
说明:
constant_name: 必须参数,常量名称即标识符
value: 必选参数,常量的值
case_sensitive: 可选参数,指定是否大小写敏感,默认 true 不敏感
2) 使用 constant() 函数获取常量的值
获取指定产量的值和直接使用常量名输出的效果是一样,但是函数可以动态输出不同的常量,在使用上更加灵活
// 语法:mixed constant(string const_name) echo constant('welcome');
说明:参数 const_name 为要获取常量的名称。如果成功则返回常量值;失败则提示错误信息”常量没有被定义“
3)使用 defined() 函数判断常量是否被定义
// 语法:bool defined(string constant_name) var_dump(defined('welcome'));
// 说明:参数 constant_name 为要获取常量的名称,成功返回 true 否则返回 false
2.预定义常量
在 PHP 中提供了很多预定义常量,可以获取PHP 中的信息,但不能任意修改这些常量的值。预定义常量的名称及作用如下:
常量名 | 功能 |
---|---|
__FILE__
|
默认常量,PHP 成熟文件名 |
__LINE__
|
默认常量,PHP 程序行数 |
PHP_VERSION | 内建常量,PHP 程序版本,如:5.5 |
PHP_OS | 内建常量,执行PHP 解析器的操作系统名称,如:Linux 、Windows |
TRUE | 这个常量是一个真值:true |
FALSE | 这个常量是一个假值: false |
BOLL | 这个常量是一个控制:null |
E_ERROR | 这个常量指到最近的错误处 |
E_WARNING | 这个常量指到最近的警告处 |
E_PARSE | 这个常量指到解析语法有潜在问题处 |
E_NOTICE | 这个常量为发生异常,但不一定是错误处 |
注意: __FILE__
和 __LINE__
中的 ”_ “ 是两个下划线。表中以 E
开头的常量是PHP 的错误调试部分。
变量
1. 声明变量
1)变量定义
// 语法: $变量名 = 变量值;
2)变量的名称规则
PHP 中变量命名,遵循如下规则:
-
在PHP 中变量名是区分大小写的
-
变量名前面必须加美元符号($),表示一个变量
-
变量名不能一数字字符开头
-
变量名可以包含一些扩展字符(如重音拉丁字母),但是能包含非法扩展字符(如:汉字字符和汉字字母)
2.变量的赋值
1)直接赋值
// 直接赋值就是使用 ”=“ 直接将值赋给某个变量 $name = "zZ爱吃菜"; $age = "26";
2)传值赋值
// 传值赋值就是使用 ”=“ 讲一个变量值赋给另一个变量 $name = 'zZ爱吃菜'; $myName = $name;
3)引用赋值
// 引用赋值就是一个变量引用另一个变量的值 $name = 'zZ爱吃菜'; $myName = & $name; // $myName 引用了 $name 对应内存地址中的值 $myName = 'zZ'; echo $name; echo '<br>'; echo $myName; //结果:'zZ' 'zZ' //说明:引用赋值是将两个变量指向同一个内存地址,即任何一个变量被改变值,内存地址对应的值改变,另一个引用变量也会相应改变
3.变量作用域
常量作用域是指变量哪些范围能被使用,在那些范围不能被使用。PHP 有三种变量作用域:局部变量、全局变量和静态变量。
1)局部变量
局部变量就是在函数的内部定义的变量,其作用域是所在函数
function example(){ $a = 'hello world'; echo '函数内部定义的变量 a 的值为:'.$a; } example(); $a = 'hello china'; // 在函数外部定义变量 a echo '函数外部定义的变量 a 的值为:'.$a; 结果: 函数内部定义的变量 a 的值为:hello world 函数外部定义的变量 a 的值为:hello china
2)全局变量
全局变量就是被定义在所有函数外面的变量,其作用域是整个PHP 文件,但是在用户自定义内部是不可用的,想在用户自定义函数内部使用全局变量,要使用 global 关键字声明
// 定义全局变量 $a ,并在自定义函数 example() 内部输出全局变量的值 $a = 'hello world'; function example(){ global $a; echo '在函数内部获得全局变量 a 的值为:'.$a; } example(); 结果: 在函数内部获得全局变量 a 的值为:hello world
3)静态变量
通过全局变量的理解可以知道,在函数内部定义的变量,在函数结束时其变量也会失效,但有时仍需要该函数内的变量有效,此时就需要将变量声明为静态变量,声明静态变量只需要在变量前加 'static' 关键字即可
// 分别在函数 中定义静态变量和局部变量 function example1(){ static $a = 10; $a += 1; echo '静态变量 a 的值为:'.$a; } function example2(){ $b = 10; $b += 1; echo '局部变量 b 的值为:'.$b } example1();// 一次执行该函数 example1();// 二次执行该函数 example1();// 三次执行该函数 echo '---'; example2();// 一次执行该函数 example2();// 二次执行该函数 example2();// 三次执行该函数 结果: 静态变量 a 的值为:11 静态变量 a 的值为:12 静态变量 a 的值为:12 --- 局部变量 b 的值为:11 局部变量 b 的值为:11 局部变量 b 的值为:11
3. 可变变量
可变变量是一个特殊的变量,这种变量名称是由另一个变量的值来确定的。声明可变变量的方法是在变量名称前加两个 ’$‘符号
// 语法:mixed constant(string const_name) echo constant('welcome');
0
说明:$$a = 'bccd'; 相当于 $mrkj = 'bccd'
总结
PHP 返璞归真系列是对我在学习PHP 的一种回顾,看似特别基础的东西,当你使用了PHP 几年后再回头看就会有意想不到的收获。
以上所述就是小编给大家介绍的《PHP 常量与变量》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Transcending CSS
Andy Clarke、Molly E. Holzschlag / New Riders / November 15, 2006 / $49.99
As the Web evolves to incorporate new standards and the latest browsers offer new possibilities for creative design, the art of creating Web sites is also changing. Few Web designers are experienced p......一起来看看 《Transcending CSS》 这本书的介绍吧!