笨鸟学php(二) 如何使用变量
一. 变量的声明
1.php中声明变量的方法:$var = 123;
2. php是弱类型的语言, 变量的类型由存储的值决定
注: Java是强类型语言, 声明变量一定要先指定类型
3. isset() 和 unset()
isset() : 判断值是否存在; unset() : 去掉变量的值
$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.一个变量的变量名可以动态设置和使用
$one = "aaa";
$two = "one";
$three = "two";
echo $$$three; // 结果为aaa
?>2. 变量可以进行引用赋值(和Java中的引用一个)
$one = "aaa";
$two = &$one; // 使用"&"符号加到将要赋值的变量前, $one和$two指向同一块地址
$two = "bbb";
echo $one;
?>
三. 变量的类型
1. 前面已经说过php是弱类型语言, 它的类型由存储的值决定
2. php有8中类型:
2.1) 四种标量:
整形: int integer 布尔型: bool boolean 浮点型: float double real 字符串: string
2.2) 两种复合类型
数组: array 对象: object
2.3) 两中特殊类型
资源类型: resource 空类型: null
$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
?>
四. 各种类型变量声明
// 整数的最大值 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;
$str=`dir`;
?>