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中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
Nov 07 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
php比较两个绝对时间的大小
Jan 31 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
php中socket的用法详解
Oct 24 PHP
php中define用法实例
Jul 30 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
php压缩文件夹最新版
Jul 18 PHP
利用ajax+php实现商品价格计算
Mar 31 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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
javascript时间函数大全
2014/06/30 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
用Python设计一个经典小游戏
2017/05/15 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
python之Character string(实例讲解)
2017/09/25 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python占用的内存优化教程
2019/07/28 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
keras K.function获取某层的输出操作
2020/06/29 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
水果花束:Fruit Bouquets
2017/12/20 全球购物
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
护理自我鉴定范文
2013/10/06 职场文书
微信营销策划方案
2014/02/24 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
实验心得体会
2014/09/05 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
财务人员岗位职责
2015/02/03 职场文书
社区元宵节活动总结
2015/02/06 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
python创建字典及相关管理操作
2022/04/13 Python