php中各种定义变量的方法小结


Posted in PHP onOctober 18, 2017

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 相关文章推荐
PHP5中使用PDO连接数据库的方法
Aug 01 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
PHP循环结构实例讲解
Feb 10 PHP
php实现的Cookies操作类实例
Sep 24 PHP
学习PHP session的传递方式
Jun 15 PHP
php表单处理操作
Nov 16 PHP
php session_decode函数用法讲解
May 26 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 PHP
php 算法之实现相对路径的实例
Oct 17 #PHP
php 二维数组快速排序算法的实现代码
Oct 17 #PHP
php 数据结构之链表队列
Oct 17 #PHP
PHP实现的贪婪算法实例
Oct 17 #PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 #PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 #PHP
基于PHP-FPM进程池探秘
Oct 17 #PHP
You might like
PHPMailer安装方法及简单实例
2008/11/25 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
php简单获取目录列表的方法
2015/03/24 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
python中nan与inf转为特定数字方法示例
2017/05/11 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
python datetime处理时间小结
2020/04/16 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
计算机专业毕业生自我鉴定
2014/01/16 职场文书
亲子读书活动方案
2014/02/22 职场文书
护士求职信
2014/07/05 职场文书
个人收入证明范本
2014/09/18 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
2014年科研工作总结
2014/12/03 职场文书
安全保证书
2015/01/16 职场文书
综合测评自我评价
2015/03/06 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
图解上海144收音机
2021/04/22 无线电