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 相关文章推荐
一个简单实现多条件查询的例子
Oct 09 PHP
PHP 错误之引号中使用变量
May 04 PHP
使用PHP遍历文件夹与子目录的函数代码
Sep 26 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
php微信公众号开发之秒杀
Oct 20 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
如何使用php生成zip压缩包
Apr 21 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
PHP文件操作方法汇总
2015/07/01 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
php构造函数与析构函数
2016/04/23 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
JavaScript的document对象和window对象详解
2010/12/30 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
js控制input输入字符解析
2013/12/27 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
python中列表元素连接方法join用法实例
2015/04/07 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
星球大战与Python之间的那些事
2016/01/07 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
基于python 字符编码的理解
2017/09/02 Python
Python切片操作深入详解
2018/07/27 Python
Python WSGI的深入理解
2018/08/01 Python
Python列表list排列组合操作示例
2018/12/18 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
文明餐桌活动方案
2014/02/11 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
完美的中文自荐信
2014/05/24 职场文书
2015年档案管理工作总结
2015/04/08 职场文书