PHP 中的变量用一个美元符号 $
后面跟变量名来表示。
命名规范
变量名区分大小写,一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。
<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var"; // 输出 "Bob, Joe"
$4site = 'not yet'; // 非法变量名;以数字开头
$_4site = 'not yet'; // 合法变量名;以下划线开头
$i站点is = 'mansikka'; // 合法变量名;可以用中文
?>
传值
变量默认总是传值赋值。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。
<?php
$a = 'hello';
$b = $a;
$a = 'hi';
var_dump($a,$b);
执行结果为
string(2) "hi"
string(5) "hello"
说明传值赋值,不会因为原变量改变二改变
引用
PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量相当于原变量的别名,改动新的变量将影响到原始变量,反之亦然。
使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前
<?php
$a = 'hello';
$b = &$a;
$a = 'hi';
var_dump($a,$b);
结果为
string(2) "hi"
string(2) "hi"
有一点重要事项必须指出,那就是只有有名字的变量才可以引用赋值。例如,&(2 * 3)
为非法形式。
<?php
$a = 'a';
$b = $$a;
$c = &$a;
$d = &$b;
$a = 'b';
var_dump($a,$b,$c,$d);
结果输出
string(1) "b"
string(1) "a"
string(1) "b"
string(1) "a"
预定义变量
PHP 提供了大量的预定义变量。其中一些变量依赖于运行的服务器的版本和设置,及其它因素。
$GLOBALS
— 引用全局作用域中可用的全部变量$_SERVER
— 服务器和执行环境信息$_GET
— HTTP GET 变量$_POST
— HTTP POST 变量$_FILES
— HTTP 文件上传变量$_REQUEST
— HTTP Request 变量$_SESSION
— Session 变量$_ENV
— 环境变量$_COOKIE
— HTTP Cookies$php_errormsg
— 前一个错误信息$HTTP_RAW_POST_DATA
— 原生POST数据$http_response_header
— HTTP 响应头
以下预定义变量只在命令行执行的时候生效
$argc
— 传递给脚本的参数数目$argv
— 传递给脚本的参数数组
变量范围
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)