PHP的符号和变量
PHP的注释,变量
PHP是一种运行在服务器端的脚步语言,可以嵌入到HTML中。
PHP代码标记
- ASP标记:<%PHP代码%>
- 短标记:
- 脚本标记:<script language=”php”> php代码</script>
- 标准标记(常用):
一般使用标准标记以方便代码的检查与区分。
PHP注释
行注释://
一次注释一行
块注释:/*需要注释的内容*/
一次注释多行
快捷注释:ctrl+?
注释所选内容
语句分隔符
在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个符号:;
英文状态下的分号
标记结束符
?>标记结束符
会在PHP代码的最后一行自动加上一个; ,但PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中不建议使用标记结束符?>,PHP会自动从开始到最后全部认为是PHP代码,从而解析,以减少空行对带宽的占有。
变量
变量的基本概念
- 变量是用来存储数据的容器;
- 变量拥有名字,即给变量取个名;
- 变量是通过名字来访问储存在变量里的数据的;
- 变量顾名思义,即是可以改变的;
变量的使用
1.定义
在系统中增加对应的变量名字,在PHP中不需要任何关键字定义变量;
$var1;
上述代码定义了变量var1;
2.赋值
将数据赋值给变量名;
$var2 = 1;
上述代码定义了一个变量var2,并赋予它的值为1;
3.访问变量
使用echo语句输出变量;
$var2 = 1;
echo $var2:
上述代码的结果是输出var2的值1;
4.修改变量
通过重新赋值变量值,达到修改变量的目的;
$var3 = 1;
echo $var3;
$var3 = 2;
echo $var3;
上述代码第一个echo输出的值是1,通过再次赋值,修改var3的值为2,所以第二次echo输出的结果是2;
5.删除变量
使用函数unset(变量名字) 删除变量。
$var5 = 1;
unset($var5);
上述代码的结果是跳出一个提示;
变量的命令规则
- 在PHP中变量名字必须以“$”符号开始;
- 名字由字母、数字和下划线“_”构成,但是不能以数字开头;
- 在PHP中本身还允许中文变量(不建议使用)。
预定义变量
提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组);
$_GET:获取所有表单并以get方式提交的数据;
$_POST:POST提交的数据都会保存在此;
$_REQUEST:GET和POST提交的都会保存
$_GLOBALS:PHP中所有的全局变量
$_SERVER:服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境信息
$_FILES:用户上传的文件信息
可变变量
如果一个变量保存的值刚好是另一个变量的名字,那么可以直接访问一个变量得到另外一个变量的值;
在变量前面再多加一个$符号。
$a = 'b';
$b = 'bb';
//定义两个变量
echo $$a;
上述代码输出的结果是bb。
原理:1.找到$a,解析结果:b
2.将前面的$符号与结果b绑定:$b
3.解析$b得出结果输出bb
变量传值
将一个变量赋值给另外一个变量:变量传值
变量传值一共有两种方式:值传递,引用传递。
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
$a = 1;
$b =$a;
//赋值传递
$b = 2;
echo $a.$b;
//输出结果是1,2
$a的值不会因为$b的值改变而改变,因为$b的值和$a只是值相等,但互不相干
双胞胎,长的像但性格不一样。
复制魔法?
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量,即两个变量指向同一块内存空间(两个变量是同一个值)
$a = 1;
$b = &$a;
//引用传递
$b = 2;
echo $a,$b;
//输出结果是2,2
$a的值会随着$b的值改变而改变,因为他们两个指向的是同一个值,所以只要值变,他们两个就一起变。
你就是我,我就是你
内存的分区
- 栈区:程序可以操作的内存部分(不存储数据,只运行程序代码),少但是快。
- 代码段:存储程序的内存部分(只存储,不运行代码)
- 数据段:存储普通数据(全局区和静态区)
- 堆区:存储复杂数据,大但是效率低。