-
格式
PHP是超文本语言,与JAVA不同的是其语言格式更像是html语言。
html以<html>
‘开头 以</html>
结尾 只编译html中的信息
而php则是以<?php>
开头<?>
结尾 只编译php中的信息 -
定义变量
定义一个变量首先需要确定他的属性。
1、属性
PHP 支持 10 种原始数据类型。
四种标量类型:
bool(布尔型)
int(整型)
float(浮点型,也称作 double)
string(字符串)
四种复合类型:
array(数组)
object(对象)
callable(可调用)
iterable(可迭代)
最后是两种特殊类型:
resource(资源)
NULL(无类型)
跟java不同的是,php在设定时并不限制他的数据类型,而是在赋值时确定他的数据类型。
例如:
在java中定义一个变量,我们是这么做的
String a="lover";
int b=1;
......
而在php中,我们仅需这么做
$a="lover";
$b=1;
php与js在定义变量时很相似
js中的我们需要这么做
var a=“lover”;
var b=1;
他们都支持赋予不同类型的值
(php中)$a=$b
(js中)a=b
需要注意的点:
1、当你需要使用字符串类型时
以$A=1 为例子
php会翻译""中的内容,而不会翻译''中的内容。
这意味着 "$A" 与'$A'是不同的,"$A" 中会出现的是"1" 而'$A'中出现的是'$A'
他们的值不同但是数据类型时相同的
2、&的使用
加入&的变量会指向变量的地址而不是值。
这个最好还是使用例子来解释.....
$a='a'
$b='b'
$a=$b
$b='c'
此时$a='c'吗?
java中是的,但PHP不是。这就是php中的值传递
而另一种状况
$a='a'
$b='b'
$a=&$b
$b='c'
此时$a='c',原因是&$b指向的是地址,所以$b改变$a也会改变,这就是PHP中的址传递;
3.变量机制
假如多个变量指向同一地址,取消一个变量,其他变量不受影响;
例如
$a='a'
$b=&$a
$c=&$a
unset($a)【unset方法用于销毁指定的变量】
现在$a=null了
那么$b、$c的值是否是Null呢?
答案是否定的
因为php的变量机制,此时$b=$c='a'
只有unset所有引用到地址的变量,他们的变量才会变为null;