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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
汉字转化为拼音(php版)
Oct 09 PHP
域名查询代码公布
Oct 09 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
解析php如何将日志写进syslog
Jun 28 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
WordPress中is_singular()函数简介
Feb 05 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 PHP
如何在PHP中生成随机数
Jun 04 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 批量删除 sql语句
2009/06/05 PHP
为PHP初学者的8点有效建议
2010/11/20 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
js常用自定义公共函数汇总
2014/01/15 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
介绍Python的@property装饰器的用法
2015/04/28 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
python django生成迁移文件的实例
2019/08/31 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
销售工作人员的自我评价分享
2013/11/10 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
语文教育专业求职信
2014/06/28 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
教师节老师寄语
2015/05/28 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS
Python包argparse模块常用方法
2021/06/04 Python
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers