形式
$ + 变量名;
严格区分大小写
$name;
$Name;
$NAME
//三个变量不是同一个变量
字母、数字、下划线组成,不能以数字开头,不能包含其他字符(空白字符、特殊字符)
驼峰式命名法、下划线式命名法
$first_name;
$firstName;
$FirstName;
标识符(关键字)尽量不作为变量名
echo
输出字符串
$username="gjl";
echo $username;
//在网页输出 gjl
?>
unset()
函数
unset($变量名);
$username="gjl";
unset($username);
echo $username;
//报错Notice: Undefined variable: username in E:\phpstudy\WWW\test.php on line 4
//未定义变量
?>
可变变量:
一个变量的名字可以动态设置和使用
也是 php 中变量覆盖漏洞的原因之一
定义:
$$
使用举例
$username="gjl";
$gjl="GuoJialiang";
echo $$username;
//输出 GuoJialiang
//$($username)
?>
应用
$username="gjl";
$gjl="GuoJialiang";
$$username="liang";
echo $gjl;
//输出 liang
?>
将变量类型输出使用函数 var_dump()
$name = "ZhangSan";
var_dump($name);
//输出 string(8) "ZhangSan"
//长度为8的字符串“ZhangSan”
?>
$sex = true;
var_dump($sex);
$age = 24;
var_dump($age);
$score = 59.9;
var_dump($score);
//输出 bool(true) int(24) float(59.9)
?>
true/false
进行 if 判断的时,候如果表达式不是布尔类型的值,会自动进行类型转换,将其它类型的值转换成布尔值,以下值被认为是false
,其他大部分的值则被认为是true
bool(false) // $flag =
int(0) // 0
float(0) // 0.0
string(0)"" // ""
string(1)"0" // "0"
array(0){} // array()
NULL // NULL
整型,存储整数
$age = 24;
var_dump($age);
// int(21)
浮点型,包含小数的数
$score = 59.9;
var_dump($score);
// float(59.9)
单引号定义的字符串不能再包含单引号,如果必须使用单引号则需要用反斜杠 \
进行转义 \'
$welcome = 'welcome \'ZhangSan\'';
echo $welcome;
//输出 welcome 'ZhangSan'
?>
php 不会解析单引号中的变量
$name = 'zhangSan';
$msg = 'welcome $name';
echo $msg;
//输出 welcome $name
?>
可以包含单引号,无须转义,但包含双引号时需要转义
php 会解析双引号间的变量
$name = "zhangSan";
$msg = "welcome $name";
echo $msg;
//输出 welcome zhangSan
?>
双引号中要解析的变量通常要用 {}
括起来
$name = "zhangSan";
$msg = "welcome {$name}";
echo $msg;
//输出 welcome zhangSan
?>
使用情景
当需要定义大段字符串时,并且该字符串出现大量特殊字符(包括反引号、双引号等)
定界符定义字符串中的单双引号、大部分特殊字符不需要转义
<<< 标志
表示定界符开始,同样的标志;
为结束标识符,定界符结束要顶格,分号之后的此行不可有任何字符(包括空字符)
定界符中的标志建议使用纯大写字母
定界符中的 $
同样会被识别为变量,变量名要用 {}
括起来
$name = "gjl";
$msg = <<<GJL
My Name is {$name}!
GJL;
//若结束符后输入任何字符(包括空字符)则会报错Parse error: syntax error, unexpected $end
echo $msg;
?>
输出效果
在php中 .
表示拼接
$a.$b
$name = "zhangSan";
$message = "welcome,";
echo $message.$name;
//输出 welcome,zhangSan
?>