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 相关文章推荐
在php MYSQL中插入当前时间
Apr 06 PHP
PHP反转字符串函数strrev()函数的用法
Feb 04 PHP
PHP中设置时区方法小结
Jun 03 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
php使用百度ping服务代码实例
Jun 19 PHP
ThinkPHP采用原生query实现关联查询left join实例
Dec 02 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
php在数组中查找指定值的方法
Mar 17 PHP
PHP类的封装与继承详解
Sep 29 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
php实现多维数组排序的方法示例
Mar 23 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
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python文件操作基本流程代码实例
2017/12/11 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Django中ORM的基本使用教程
2020/12/22 Python
PyQt实现计数器的方法示例
2021/01/18 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
2013/06/05 面试题
技术总监的工作职责
2013/11/13 职场文书
销售口号大全
2014/06/11 职场文书
视光学专业自荐信
2014/06/24 职场文书
检讨书格式范文
2015/05/07 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
公司周年庆寄语
2019/06/21 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏