1.定义常量define("CONSTANT", "Hello world.");
常量只能包含标量数据(boolean,integer,float 和 string)。
调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT;如果常量名是动态的,也可以用函数 constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
常量和变量不同:
define() 函数定义一个常量。
常量类似变量,不同之处在于:
- 在设定以后,常量的值无法更改
- 常量名不需要开头的美元符号 ($)
- 作用域不影响对常量的访问
- 常量值只能是字符串或数字
语法
define(name,value,case_insensitive)
参数
描述
name |
必需。规定常量的名称。 |
value |
必需。规定常量的值。 |
case_insensitive |
必需。规定常量的名称是否对大小写敏感。
若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。
|
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]。
例子:
<?php
$a="hello";
$$a="world!";
echo $a; echo "<br/>"; //hello
echo $hello; echo "<br/>";//world!
echo $$a; echo "<br/>";//world!
echo ${$a}; echo "<br/>";//world!
//echo "$a$$a"; echo "<br/>";//hello$hello
//echo "$a.$$a"; echo "<br/>";//hello.$hello
echo "$a${$a}"; echo "<br/>"; //helloworld!
//echo $a${$a}; echo "<br/>";//syntax error, unexpected '$', expecting ',' or ';'
echo $a.$$a; echo "<br/>"; //helloworld!
echo $a.${$a}; echo "<br/>"; //helloworld!
echo "$a$hello"; echo "<br/>"; //helloworld!
//echo $a$hello; echo "<br/>";//syntax error, unexpected T_VARIABLE, expecting ',' or ';'
echo $a.$hello; echo "<br/>"; //helloworld!
echo $$a[0]."p"; echo "<br/>"; //p
echo ${$a[0]}."p"; echo "<br/>"; //p
echo $a[0]."p"; echo "<br/>"; //hp
echo ${$a}[0]."p"; echo "<br/>"; //w
?>
4.静态变量
在函数内部static $a = 0;
注意:声明中用表达式的结果对其赋值会导致解析错误如static $a =3+3;(error)
静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用
5.全局变量
global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的 PHP 自定义 $GLOBALS 数组:
如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
在一个函数域内用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用
global $obj;
注:
1》对于变量的 static 和 global 定义是以 应用 的方式实现的
2》 如果声明全局变量,最好一定要用$GLOBALS,否则如果在另一个文件的函数里使用require_once('...php')无法将这个变量放入全局变量空间。
例子:
<?php
$a="a";
function a()
{
global $a; //如果不把$a定义为global变量,函数体内是不能访问$a的
echo $a;
}
a();
//*********************************
function c()
{
global $c;
$c="c";
}
c();
echo $c; //正确,可以使用
//*********************************
global $b;
$b="b";
function b()
{
echo $b; //没有输出任何值也没有报错
}
echo $b;
?>
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 :当前注册给脚本会话的变量。
感谢:http://fenhonghai.iteye.com/
分享到:
相关推荐
### PHP中页面之间传递变量方法总结 在进行网站开发时,常常需要实现在不同页面间共享数据的功能。例如,登录认证后的用户信息需要在多个页面中保持一致等场景。为了实现这一需求,PHP提供了多种机制来帮助开发者在...
总结来说,静态变量在PHP中是一种特殊类型的变量,它们在函数或类中被频繁使用,有助于程序员管理数据和状态。静态变量对于缓存、计数器以及任何需要在多次函数调用间保持状态的场景非常有用。由于它们在内存中只...
### ThinkPHP5 在 JS 中显示 PHP 变量 在 Web 开发中,前后端交互是非常常见的一种需求。本文将详细探讨如何在 ThinkPHP5 框架中将 PHP 变量传递给 JavaScript,并且解决在实际开发过程中可能遇到的一些问题。 ###...
总结起来,PHP预定义变量,特别是`$_SERVER`数组,是开发者获取服务器环境信息和HTTP请求数据的重要工具。了解并熟练使用这些变量,可以帮助编写出更健壮、适应性强的PHP应用程序。在实际编程中,开发者应根据具体...
### PHP变量放在大括号里面的含义 在PHP中,变量的使用非常灵活,尤其是在字符串内嵌入变量值的时候。在给定的例子中,涉及到的主要有两方面:一是变量在SQL查询字符串中的使用;二是字符串中如何引用数组元素。 #...
根据提供的示例代码及描述,我们可以总结出几种常见的PHP变量传递方式:表单提交、URL参数传递以及通过HTTP重定向传递。接下来,将详细介绍这几种方法的特点、应用场景以及注意事项。 #### 1. 表单提交 表单提交是...
### PHP学习 变量使用总结 #### 一、概述 在PHP编程中,变量是非常重要的概念之一,它贯穿于整个程序开发过程中。本篇文章旨在帮助正在学习PHP的开发者们更好地理解PHP中的各种变量类型及其使用场景,从而提高编程...
### PHP变量放在大括号里面的含义及应用场景 #### 一、使用大括号的基本概念 在PHP中,将变量置于大括号内具有特定的意义,主要用于处理字符串中的变量嵌入和可变变量的情况。本文将从以下几个方面进行深入探讨:...
总结来说,PHP中的静态变量是管理函数内部和全局状态的一种有效手段。在实际开发中,应根据具体情况选择使用局部静态变量或全局静态变量,并注意它们在程序中的作用域和生命周期。特别是在设计模块化、高内聚低耦合...
总结来说,PHP的变量作用域有以下几种: 1. 全局作用域:在函数外部定义的变量,全局可访问。 2. 局部作用域:在函数内部定义的变量,仅限于函数内部访问。 3. 超全局作用域:通过超全局变量数组如$_GET、$_POST等...
#### 三、PHP变量作用域概述 PHP中的变量作用域主要包括以下几种类型: 1. **全局作用域**:在整个脚本文件范围内都可被访问的变量。 2. **局部作用域**:仅在特定区域内可被访问的变量,如在函数内部定义的变量。 ...
### Drupal中的Page-Tpl.php可用变量详解 ...正确使用这些变量不仅能够提高网站的用户体验,还能提升开发效率。此外,熟悉这些变量也有助于理解Drupal的核心工作原理,为后续的开发工作打下坚实的基础。
1. **定义**:PHP变量是用来存储数据的容器,它的值可以随时改变。在PHP中,不需要预先声明变量,可以直接使用`$`符号后跟变量名来创建变量。例如: ```php $myVariable = "Hello, World!"; ``` 2. **类型**:PHP...
总结来说,PHP的全局变量具有以下特点: 1. 在函数外部定义的变量是全局变量。 2. 在函数内部使用全局变量需使用`global`关键字声明。 3. 包含的文件中的全局变量可以在包含它的脚本中全局访问。 4. 避免过度使用...
总结来说,这个知识点涉及了Craft CMS的全局变量(Craft Globals)和PHP开发在CMS中的应用,特别是如何通过插件增强富文本字段的功能,使其能够直接引用和显示全局变量。这对于那些需要在网站内容中频繁使用动态数据...
... ... ... ... echo "这是XML标记风格";... echo "使用C++风格注释";... echo "使用C风格注释";...通过学习这些基础知识点,开发者能够更好地理解和掌握PHP变量与常量的使用技巧,为后续开发高质量的PHP应用程序打下坚实的基础。
总结,phpcms 自动添加变量是提高内容管理效率的有效手段,它涉及文件上传、安装、后台管理等多个环节。正确理解和运用这一功能,能够使网站的维护工作更加便捷,同时提升网站的灵活性和可扩展性。
总结一下关于PHP变量作用域和`global`、`static`关键字的关键知识点: 1. 全局变量:定义在函数外部,作用域从定义处到文件结束,可以通过`global`关键字在函数内部访问。 2. 局部变量:在函数内部定义,仅在函数...