一. 变量的声明
1. php中声明变量的方法: $var = 123;
2. php是弱类型的语言, 变量的类型由存储的值决定
注: Java是强类型语言, 声明变量一定要先指定类型
3. isset() 和 unset()
isset() : 判断值是否存在; unset() : 去掉变量的值
<?php $a = $b = $c = $d = "hello, world"; unset($a); if(isset($a)){ echo $a; }else{ echo "not exists"; }?>
二. 变量的命名
1. 变量前一定要使用"$", 声明和使用都要有这个符号.
2. 不能以数字开头.
3. 不能使用php中的运算符号+ - * / % &
4. 可以使用系统关键字作为变量名
5. php中只有变量和常量区分大小写, 其他不区分
二. 可变变量
1. 一个变量的变量名可以动态设置和使用
<?php $one = "aaa"; $two = "one"; $three = "two"; echo $$$three; // 结果为aaa?>2. 变量可以进行引用赋值(和Java中的引用一个)
<?php $one = "aaa"; $two = &$one; // 使用"&"符号加到将要赋值的变量前, $one和$two指向同一块地址 $two = "bbb"; echo $one;?>
三. 变量的类型
1. 前面已经说过php是弱类型语言, 它的类型由存储的值决定
2.1) 四种标量:
整形: int integer 布尔型: bool boolean 浮点型: float double real 字符串: string
2.2) 两种复合类型
数组: array 对象: object
2.3) 两中特殊类型
资源类型: resource 空类型: null
<?php $var=10; var_dump($var); // int(10) $var=34.5; var_dump($var); // float(34.5) $var="abc"; var_dump($var); // string(3) "abc" $var=true; var_dump($var); // bool(true) $var=array(1,2,3); var_dump($var); // array(3){[0]=>int(1) [1]=>int(2) [2]=>int(3)} $var=new mysqli("localhost", "root", "root", "newcms"); var_dump($var); // object(mysqli)#1(0){} $var=fopen("1.php", "r"); var_dump($var); // resource(3) of type (stream) $var=null; var_dump($var); // NULL?>
四. 各种类型变量声明
<?php // 整数的最大值 4字节, 2的32次方, 214483647 $int=10; //十进制声明 $int=045; //以0开头的表示以8进制声明一个变量 $int=0xff; //以0x或0X开头的表示以16进制声明一个变量 0-9 a-f 0X A-F $int=-5; $float=10; $float=-10; $float=3.14E5; $float=3.15E+5; $float=5.14E-2; //E可以大写也可以小写 // 以下都是false的情况 $bool=false; // true $bool=0; // 非0的数 $bool=0.000; // 有非0的数出现 $bool=""; $bool=" "; $bool=null; // 非空代表 $bool="0"; // 非空非0的字符串 $bool=array(); // 有成员的数组 // 表示true的情况: true, 非0的数, 有非0的数出现, 非空代表, 非空非0的字符串, 有成员的数组 // 字符串的声明有多种方法 // 1.单引号和双引号都可以声明字符串, 声明的字符串没有长度限制 // 2.在双引号的字符串中, 即可以直接解析变量, 又可以直接使用转义字符 // 3.在单引号的字符串中, 不可以解析变量, 也不可以使用转义字符(可以以转义单引号本身, 也可以转义转义字符"\") // 4.在双引号中不能再使用双引号, 在单引号中不能再使用单引号 $str='aaaaa\'aaa'; $str="aaaa\"aaaa"; $str=<<<one one; $str=`dir`;?>