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新手上路(十三)
Oct 09 PHP
实用函数4
Nov 08 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
PHP批量修改文件名称的方法分析
Feb 27 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 PHP
php输出形式实例整理
May 05 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
python将文本转换成图片输出的方法
2015/04/28 Python
Python多进程同步简单实现代码
2016/04/27 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python的命名规则知识点总结
2019/10/04 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
程序员岗位职责
2013/11/11 职场文书
儿童生日会策划方案
2014/05/15 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
民主评议党员工作总结
2014/10/20 职场文书
会议室管理制度范本
2015/08/06 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
比较node.js和Deno
2021/04/27 Javascript
浅析python中特殊文件和特殊函数
2022/02/24 Python