php 变量定义方法


Posted in PHP onJune 14, 2009

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 :当前注册给脚本会话的变量。
如何禁用phpinfo():
php.ini中
disable_functions = phpinfo()
重启web服务器。
php中的常量
常量只能用define(常量名,常量值);
常量只能包含标量数据(boolean,integer,float 和 string)。
可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数
constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 "CONSTANT")。此时将发出一个 E_NOTICE 级的错误。参见手册中为什么 $w3sky[bar] 是错误的(除非事先用 define() 将 bar 定义为一个常量)。如果只想检查是否定义了某常量,用 defined() 函数。
常量和变量不同:
* 常量前面没有美元符号($);
* 常量只能用 define() 函数定义,而不能通过赋值语句;
* 常量可以不用理会变量范围的规则而在任何地方定义和访问;
* 常量一旦定义就不能被重新定义或者取消定义;
* 常量的值只能是标量。
定义常量
<?PHP
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>

PHP 相关文章推荐
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
Jul 21 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
PHP simplexml_load_file()函数讲解
Feb 03 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
PHP 函数语法介绍一
Jun 14 #PHP
PHP 木马攻击防御技巧
Jun 13 #PHP
C# Assembly类访问程序集信息
Jun 13 #PHP
php adodb连接mssql解决乱码问题
Jun 12 #PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 #PHP
php MsSql server时遇到的中文编码问题
Jun 11 #PHP
php 分页类 扩展代码
Jun 11 #PHP
You might like
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
用PHP书写安全的脚本代码
2012/02/05 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
js 代码优化点滴记录
2012/02/19 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
利用python发送和接收邮件
2016/09/27 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Django中间件实现拦截器的方法
2018/06/01 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python调用支付宝支付接口流程
2019/08/15 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
韩国现代百货官网:Hmall
2018/03/21 全球购物
机电专业大学生求职信
2013/10/04 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
经理任命书模板
2014/06/06 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python