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 相关文章推荐
phpfans留言版用到的install.php
Jan 04 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
PHP中文汉字验证码
Apr 08 PHP
深入PHP autoload机制的详解
Jun 09 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
php动态函数调用方法
May 21 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
ThinkPHP路由机制简介
Mar 23 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 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实现rc4加密算法代码
2012/04/25 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
js+SVG实现动态时钟效果
2018/07/14 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
python和C语言混合编程实例
2014/06/04 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
pycharm修改file type方式
2019/11/19 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
python的数学算法函数及公式用法
2020/11/18 Python
pycharm实现猜数游戏
2020/12/07 Python
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
数控专业毕业生求职信范文
2013/09/21 职场文书
事业单位辞职信范文
2014/01/19 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
售后服务承诺函格式
2015/01/21 职场文书
餐馆开业致辞
2015/08/01 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
Python字符串格式化方式
2022/04/07 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python