PHP学习——变量

变量的引用和赋值:

PHP中引用和C++中的完全不同,$a=&$b;这是PHP中用a作为b的引用,而在C++中,int&a=b;是C++的用a做b的引用,而且C++中引用必须初始化。

在PHP中不仅代码形式不同,在PHP中引用不会导致$a和$b在内存上同体,只是把各自的值关联起来。基于这一点,使用unset()则不会导致所有引用变量消失。只是互相取消关联。

变量的类型:

PHP和JavaScript一样是弱类型语言,对于C++这种强类型语言来说变量这个“柜子”在制作之前就要决定这个柜子是什么类型的,书柜只能装书,衣柜只能装衣服。对于PHP,JavaScript这种弱类型语言来说,变量这个柜子,对于同一个柜子,你用来装书,它就是书柜,你用来装衣服,它就是衣柜。

在PHP中变量的类型是由PHP根据该变量使用的上下文在运行时决定的。

<?php
    $bool=true;
	$str="abcd";
	$int=100;
//用var_dump来查看表达式的值和类型	
	var_dump($bool);
	var_dump($str);
	var_dump($int);
结果为:
boolean true
string 'abcd' (length=4)
int 100


布尔型

在PHP中,布尔型不是只有TRUE或FALSE两个值,当运算符,函数或流程控制需要一个boolean参数时,任何类型的值PHP都会自动转换成布尔型的值:

1:整形 0为FALSE其余为TRUE。

2:浮点数0.0为FALSE。

3:空白字符串和字符串“0”。

4:没有成员变量的数组。

5:没有单元的对象(仅适用于PHP4)。

6:特殊类型NULL(包括尚未设定的变量)。

声明bool型数据如下:

<?php
    var_dump((bool) "");
	var_dump((bool) 1);
	var_dump((bool) -2);
	var_dump((bool) 0);
	var_dump((bool) "foo");
	var_dump((bool) array(12));
	var_dump((bool) array());
	var_dump((bool) "false");
结果为:
boolean false
boolean true
boolean true
boolean false
boolean true
boolean true
boolean false
boolean true

整形

整形数的字长和平台相关,PHP不支持无符号整数,如果一个数超过了integer这个范围会被解释为float。


浮点型

浮点数的字长和平台相关,


字符串:(注意PHP中没有char类型)

PHP中字符串可以是一个字符,也可以是多个字符(和C++不同),可以使用单引号、双引号、定界符定义,区别如下:


单引号

单引号主要用于定义简单字符串。

在单引号字符串中出现的变量不会被变量值替代。

单引号中再包含单引号要用转义字符\'来代替。

单引号之前或字符串尾包含反斜线要用转义字符\\代替。

除了上面两种转义字符,其他的转义都是无效的。
所以在定义简单字符串时,使用单引号效率会更高,因为PHP解析时不会花费一些处理字符转义和解析变量上的开销。注:HTML标签他还是认识的。

	$a='abcde\'abc\'js\nk<br>';
	echo "$a$a";
输出:

abcde'abc'js\nk
abcde'abc'js\nk


双引号

当用双引号指定字符串时,其中的变量会被解析。如果是复杂的语句,可以用花括号括起一个表达式

<?php
    //定义一个变量名为$beer的变量
	$beer='abcdefg';
	
	//可以将下面的变量$beer解析,因为(‘)在变量中是无效的
	echo "abc$beer'sjfifj<br>";
	
	//不可以解析变量,因为“s"在变量名中是有效的,没有$beers这个变量
	echo "abc$beers<br>";
	
	//使用花括号包含起来
	echo "abc{$beer}s<br>";

定界符

在"<<<"之后提供一个标识符开始,然后是包含的字符串,最后是同样的标识符结束字符串。

结束标识符必须从行的第一列开始,并且后面除了分号不能包含其他的字符,空格及空白制表符都不可以,标识符也必须遵循PHP中标签的命名规则。

定界符不能初始化类成员。


NULL类型:

NULL的唯一可能值就是NULL,NULL不表示空格,也不表示零,也不是空字符串,在PHP中NULL不区分大小写,下列情况下一个变量被认为是NULL

将变量直接赋值为NULL

声明的变量尚未赋值

被unset()函数销毁的变量。

<?php
    $a=null;
	$b='abc';
	unset($b);
	var_dump($a);
	var_dump($b);
	var_dump($c);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值