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 正确解码javascript中通过escape编码后的字符
Jan 28 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
php标签云的实现代码
Oct 10 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 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
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
Vue事件修饰符native、self示例详解
2019/07/09 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
python批量生成本地ip地址的方法
2015/03/23 Python
Python数据结构之单链表详解
2017/09/12 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
如何实现一个自定义类的序列化
2012/05/22 面试题
电子商务个人职业生涯规划范文
2014/02/12 职场文书
技能比武方案
2014/05/21 职场文书
健康教育评估方案
2014/05/25 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
大学生找工作求职信
2014/07/09 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
会议简讯范文
2015/07/20 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js
详解 TypeScript 枚举类型
2021/11/02 Javascript
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技