PHP学习记录【php变量与常量】
PHP学习记录【php变量与常量】
PHP学习记录【php变量与常量】- 什么是变量
程序中的变量源于数学,在程序语言中能够储存结果或者表示抽象概念。简单理解变量就是临时存储值的容器,它可以储存数字、文本、或者一些复杂的数据等。变量在PHP 中居于核心地位,是使用 PHP 的关键所在,变量的值在程序运行中会随时发生变化,能够为程序中准备使用的一段数据起一个简短容易记的名字,另外它还可以保存用户输入的数据或运算的结果。
- 声明(创建)变量
因为 PHP 是一种弱类型的语言,所以使用变量前不用提前声明,变量在第一次赋值时会被自动创建,这个原因使得 PHP 的语法和C语言、Java等强类型语言有很大的不同。
声明 PHP 变量必须使用一个美元符号“$”后面跟变量名来表示,然后再使用“=”给这个变量赋值。如下所示:
<?php $a = 1; $b = 2; $c = 3; echo $a.', '.$b.', '.$c; ?>
运行结果如下:
1, 2, 3
- 变量的命名规则
变量名并不是可以随意定义的,一个有效的变量名应该满足以下几点要求:
- 变量必须以 $ 符号开头,其后是变量的名称,$ 并不是变量名的一部分;如变量x必须要写成$x
- 变量名必须以字母或下划线开头;
- 变量名不能以数字开头;
- 变量名只能包含字母(A-Z)、数字(0-9)和下划线(_);
- 与其它语言不通的是,PHP 中的一些关键字也可以作为变量名(例如 $ true、$ for);
- 变量命名要有意义(别写xxx,aaa,ccc这种 变量名);
- 变量不要用特殊符号、中文,_不算特殊符号。
注意:PHP 中的变量名是区分大小写的,因此 $var 和 $Var 表示的是两个不同的变量。
正确的变量命名如下所示:
<?php $name = "C语言中文网"; // 变量名为:name,变量值为:C语言中文网 $url = "http://c.biancheng.net/"; // 变量名为:url,变量值为:http://c.biancheng.net/ $Url = "http://c.biancheng.net/php/"; // 变量名为:Url,变量值为:http://c.biancheng.net/php/ $_str = "PHP是世界上最好的语言"; // 变量名为:_str,变量值为:PHP是世界上最好的语言 echo $name.'<br>'.$url.'<br>'.$Url.'<br>'.$_str; ?>
运行结果如下:
C语言中文网
http://c.biancheng.net/
http://c.biancheng.net/php/
PHP是世界上最好的语言
错误的变量命名如下所示:
<?php $1122_num = 11111; // 变量名不能以数字开头 $~%_str = "PHP教程"; // 变量名不能包含特殊字符 ?>
运行上面的代码会提示语法错误:
注意:虽然以字母和下划线开头,后面跟随中文字符也可以作为变量名称,但是并不建议这么做。
虽然只要满足上面的命名规则,变量名就是有效的,但是还是建议定义的变量名要有一定的意义,例如使用 name 表示姓名;使用 url 表示网站链接等。
当使用多个单词构成变量名时,可以使用下面的命名规范:
- 下划线命名法:将构成变量名的单词以下划线分割,例如 $ get_user_name、$ set_user_name;
- 驼峰式命名法(推荐使用):第一个单词全小写,后面的单词首字母小写,例如 $ getUserName、$getDbInstance;
- 帕斯卡命名法:将构成变量名的所有单词首字母大写,例如 $ Name、$ MyName、$GetName。
变量分类:可变变量、外部变量、环境变量
- 可变变量举例说明:
<?php $str = 'good'; $good = 'test'; $test = 'Hello World!'; echo $$$str; // Hello World! ?>
输出的结果为:
Hello World!
<?php $str = 'Hello World!'; echo '$str';// $str echo '<br/>'; echo "$str";// Hello World! ?>
输出的结果为:
$str
Hello World!
<?php list($a, $b, $c, $d) = array(1, 2, 3, 4); echo $a, $b, $c, $d; // 1234 ?>
输出的结果为:
1234
2.外部变量举例说明:
PHP的外部变量是PHP在使用过程中规定好的一些变量,例如:
<html> <head> </head> <body> <!-- 这一行method 对应的值改为了post --> <form action="reg.php" method="post"> <input type="text" name="username" /> <input type="password" name="pwd" /> <input type="submit" value="提交" /> </form> </body> </html>
下面是上面html代码中的reg.php文件:
<?php //$_POST后面加上中括号,将username作为字符串放在中括号里面,就得到了表单里面的<input type="text" name="username" /> 的值 $u = $_POST['username']; echo $u.'<br />'; //$_POST['pwd'] 得到表单<input type="text" name="username" /> 的值 $passwd = $_POST['pwd']; echo $passwd.'<br />'; ?>
通过上面的实验我们知道了,通过$_POST这个外部变量,可以得到从表单输入的值。
另外下面有一些其他的外部变量名:
全局变量名 | 功能说明 |
---|---|
$_COOKIE | 得到会话控制中cookie传值 |
$_SESSION | 得到会话控制中session的值 |
$_FILES | 得到文件上传的结果 |
$_GET | 得到get传值的结果 |
$_POST | 得到post传值的结果 |
$_REQUEST | 即能得到get的传值结果,也能得到Post传值的结果 |
3.环境变量举例说明:
环境变量我们主要用的有 $_SERVER和 $ _ENV两个环境变量。不过,$ _ENV逐渐被PHP的新版本给废弃了。
<?php phpinfo(); ?>
其它环境变量:
$_SERVER[“REQUEST_METHOD”] | 请求当前PHP页面的方法 |
---|---|
$_SERVER[“REQUEST_URL”] | 请求的URL |
$_SERVER[“SERVER_SOFTWARE”] | 用的是哪一种服务器 |
$_SERVER[“REMOTE_ADDR”] | 客户的IP地址 |
$_SERVER[“SERVER_ADDR”] | 当前服务器的IP地址 |
$_SERVER[“SCRIPT_FILENAME”] | 主前请求文件的路径 |
$_SERVER[“HTTP_USER_AGENT”] | 当前访问这个网址的电脑和浏览器的情况 |
$_SERVER[“HTTP_REFERER”] | 上级来源(用户从哪个地址进入当前网页的) |
$_SERVER[“REQUEST_TIME”] | 当前的时间 |
<?php define('MY_NAME','PHP中文网'); echo MY_NAME; //下面是错误的调用方式 echo '我的名字是MY_NAME'; //正确的调用方式该这么写 echo '我的名字是' . MY_NAME; ?>
系统还为我们准备了一些内置的常量,如下:
常量名 | 说明 |
---|---|
LINE | 当前所在的行 |
FILE | 当前文件在服务器的路径 |
FUNCTIOIN | 当前函数名 |
CLASS | 当前类名 |
METHOD | 当前成员方法名 |
PHP_OS | PHP运行的操作系统 |
PHP_VERSION | 当前PHP的版本 |
TRAIT | TRAIT的名字,php5.4新加 |
DIR | 文件所在的目录 |
NAMESPACE | 当前命名空间的名称(区分大小写) |