PHP 中的变量用一个美圆符号后面跟变量名来表示。变量名是区分大小写的。php
命令规则以标致符为准则。 - 变量以 $ 符号开头,其后是变量的名称 - 变量名称必须以字母或下划线开头 - 变量名称不能以数字开头 - 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _) - 变量名称对大小写敏感($y 与 $Y 是两个不一样的变量)html
函数以外声明的变量拥有 Global 做用域,只能在函数之外进行访问。python
函数内部声明的变量拥有 LOCAL 做用域,只能在函数内部进行访问。laravel
<?php $x=5; // 全局做用域 function myTest() { $y=10; // 局部做用域 echo "<p>测试函数内部的变量:</p>"; echo "变量 x 是:$x"; echo "<br>"; echo "变量 y 是:$y"; } myTest(); echo "<p>测试函数以外的变量:</p>"; echo "变量 x 是:$x"; echo "<br>"; echo "变量 y 是:$y"; ?>
global 关键词用于访问函数内的全局变量。git
要作到这一点,请在(函数内部)变量前面使用 global 关键词:面试
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 输出 15 ?>
一般,当函数完成/执行后,会删除全部变量。不过,有时我须要不删除某个局部变量。实现这一点须要更进一步的工做。redis
要完成这一点,请在您首次声明变量时使用 static 关键词:docker
可使用$_POST[], $_GET[], $_REQUEST[]对值进行获取。数据库
当提交表单时,能够用一幅图像代替标准的提交按钮,用相似这样的标记:ubuntu
<input type="image" src="image.gif" name="sub" />
当用户点击到图像中的某处时,相应的表单会被传送到服务器,并加上两个变量 sub_x 和 sub_y。
它们包含了用户点击图像的坐标。有经验的用户可能会注意到被浏览器发送的实际变量名包含的是一个点而不是下划线(即 sub.x 和 sub.y), 但 PHP 自动将点转换成了下划线。
Cookies 是一种在远端浏览器端存储数据并能追踪或识别再次访问的用户的机制。
能够用 setcookie() 函数设定 cookies。
Cookies 是 HTTP 信息头中的一部分,所以 SetCookie 函数必须在向浏览器发送任何输出以前调用。
对于 header() 函数也有一样的限制。Cookie 数据会在相应的 cookie 数据数组中可用,例如 $_COOKIE,$HTTP_COOKIE_VARS 和 $_REQUEST。
<?php setcookie("MyCookie[foo]", 'Testing 1', time()+3600); setcookie("MyCookie[bar]", 'Testing 2', time()+3600); ?>
$a = 'hello'; $$a = 'world' // 如下两种方式结果同样 echo "$a ${$a}"; echo "$a $hello";
常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。
常量默认为大小写敏感。传统上常量标识符老是大写的。
<?php // 合法的常量名 define("FOO", "something"); define("FOO2", "something else"); define("FOO_BAR", "something more"); // 非法的常量名 define("2FOO", "something"); // 下面的定义是合法的,但应该避免这样作:(自定义常量不要以__开头) // 也许未来有一天PHP会定义一个__FOO__的魔术常量 // 这样就会与你的代码相冲突 define("__FOO__", "something"); ?>
<?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // 输出 "Constant" 并发出一个提示级别错误信息 ?>
<?php // 如下代码在 PHP 5.3.0 后能够正常工做 const CONSTANT = 'Hello World'; echo CONSTANT; ?>
名称 | 说明 |
---|---|
LINE | 文件中的当前行号。 |
FILE | 文件的完整路径和文件名。若是用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,FILE 老是包含一个绝对路径(若是是符号链接,则是解析后的绝对路径),而在此以前的版本有时会包含一个相对路径。 |
DIR | 文件所在的目录。若是用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,不然目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) |
FUNCTION | 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值老是小写字母的。 |
CLASS | 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值老是小写字母的。类名包括其被声明的做用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 CLASS |
TRAIT | Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的做用区域(例如 Foo\Bar)。 |
METHOD | 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。 |
NAMESPACE | 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。 |
function myfun($title, $myvar="Moments"){ echo ">>>".$title." "; echo $myvar; echo " "; } $myvar = "Hello World!"; myfun("变量定义", $myvar);
PHP 有三种不一样的变量做用域:
local(局部):函数内部声明的变量拥有 LOCAL 做用域,只能在函数内部进行访问。
global(全局):函数以外声明的变量拥有 Global 做用域,只能在函数之外进行访问。 static(静态):进行静态声明后,函数完成/执行完,不会删除全部变量。
$flag = 100; function myfun(){ global $flag; echo $flag; } myfun();
function myfun(){ static $flag = 0; $flag++; echo $flag; } for($i=0;$i<10;$i++){ myfun(); } #输出12345678910
define("PI", "3.14"); echo PI; echo " "; echo constant("PI");