PHP学习 变量使用总结


Posted in PHP onMarch 24, 2011
1.定义常量define("CONSTANT", "Hello world.");
常量只能包含标量数据(boolean,integer,float 和 string)。
调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT;
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。

2.普通变量$a = "hello";

3.可变变量(使用两个美元符号($))
$$a = "world";
两个变量都被定义了:
$a 的内容是“hello”并且 $hello 的内容是“world”。
因此,可以表述为:
echo "$a ${$a}";或者  echo "$a $hello";它们都会输出:hello world
要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。

4.静态变量
在函数内部static $a = 0;
注意:声明中用表达式的结果对其赋值会导致解析错误如static  $a =3+3;(error)
静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用

5.全局变量
在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的 PHP 自定义 $GLOBALS 数组:
如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
在一个函数域内用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用
global $obj;
注:对于变量的 static 和 global 定义是以 应用 的方式实现的

6.给变量赋值:传地址赋值(简单引用):
$bar = &$foo;  //加&符号到将要赋值的变量前
改动新的变量将影响到原始变量,这种赋值操作更加快速
注意:只有命名变量才可以传地址赋值
注意:如果
$bar = &$a;
$bar = &$foo;
改变$bar的值只能改变变量foo的值,而不改变a的值(引用改变了)

7.PHP 超全局变量$GLOBALS : 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER : 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET :    经由 HTTP GET 方法提交至脚本的变量。
$_POST :   经由 HTTP POST 方法提交至脚本的变量。
$_COOKIE : 经由 HTTP Cookies 方法提交至脚本的变量。
$_FILES :  经由 HTTP POST 文件上传而提交至脚本的变量。
文件上传表单中要有 enctype="multipart/form-data"
$_ENV :    执行环境提交至脚本的变量。
$_REQUEST :经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 import_request_variables()。
注意:      自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。
$_SESSION :当前注册给脚本会话的变量。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(3)
Oct 09 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
php微信扫码支付 php公众号支付
Mar 24 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 PHP
优化php效率,提高php性能的一些方法
Mar 24 #PHP
php 代码优化之经典示例
Mar 24 #PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
Mar 24 #PHP
php邮件发送,php发送邮件的类
Mar 24 #PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 #PHP
一个基于PDO的数据库操作类
Mar 24 #PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 #PHP
You might like
PHP4实际应用经验篇(5)
2006/10/09 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
一个PHP分页类的代码
2011/05/18 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
通过隐藏option实现select的联动效果
2009/11/10 Javascript
js常用代码段收集
2011/10/28 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
JSON格式化输出
2014/11/10 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
vue--vuex详解
2019/04/15 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
python中__slots__用法实例
2015/06/04 Python
python求质数列表的例子
2019/11/24 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
基于Python绘制个人足迹地图
2020/06/01 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
大学竞选班干部演讲稿
2014/08/21 职场文书
会议简讯范文
2015/07/20 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书