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的FTP学习(三)
Oct 09 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
Nov 18 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 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
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
python3学习笔记之多进程分布式小例子
2018/02/13 Python
python 对象和json互相转换方法
2018/03/22 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Python实现SMTP邮件发送
2020/06/16 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
人民调解员先进事迹材料
2014/05/08 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
课外科技活动总结
2014/08/27 职场文书
校园环境卫生倡议书
2015/04/29 职场文书
在职证明书模板
2015/06/15 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
MySQL慢查询优化解决问题
2022/03/17 MySQL