目录
一、php初步语法
1、php代码标记(记一个就ok):
标准标记(常用):<?php php代码 ?>
2、php注释
行注释:一次注释一行
//:后面跟的所有内用的是注释(一行内)
#:
块注释:一次注释多行
/* :中间指导*/出现之前,都是注释
*/
3、php语句分隔符:
在php中,代码以行为单位,系统需要通过判断行的结束,该结束通常以分号“;”(英文状态下的分号)表示。
特殊说明:
1.php中标记结束符?>有自带语句结束符的效果,最后一行代码可以没有语句结束符;(建议还是要写分号)
2.php中很多代码的书写并不是嵌入到html中,而是单独存在。如果未写标记结束符?>php会自动从开始到最后都认为是php代码,从而解析。
二、php变量
1、php介绍
php是一种动态网站开发的脚本语言。动态语言特点是交互性(用户与数据的交互),数据传递,php作为“中间人”,需要进行数据的传递,其前提是php能自己存储数据(临时存储)
动态:可以接收并提供用户所想要的东西
2、变量概念(简化)
1.变量可以存储计算结果(数据);
2.变量可以通过变量名访问(变量是存在名字的,变量可以通过名字来访问);
3.变量是可以改变的:数据本身可以改变。
3、变量的使用
1.定义:在系统中增加对应的变量名字(内存)
在php中不需要任何关键字定义变量(赋值)
2.赋值:可以将数据赋值给变量名(可以在定义的同时完成)
3.可以通过变量名访问存储的数据
4.可以将变量从内存中删除
4、变量命名规则
1. php中所有的变量都必须使用“$”符号,即以“$”符号开始;
2.名字由字母、数字、下划线“_”构成,但是不能以字母开头语;
3、在php中本身允许中文变量(不建议)
5、预定义变量
提前定义的变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
$_GET:获取所有以get方式提交的数据
$_POST:POST提交的数据都会保存在此
$_REQUEST:GET和POST提交的数据都会保存在此
$GLOBALS:PHP中所有 的全局变量
$_SERVER:服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境细信息
$_FILES:用户上传的文件信息
6、可变变量
如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值;在变量前在多加一个$符号。
<?php
//可变变量
//定义两个变量
$a = 'b';
$b = 'bb';
echo $$a;
?>
7、变量传值
1.将一个变量赋值给另外一个变量
2.变量传值一共有两种方式:值传递,引用传递
值传递:将变量保存到值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)
引用传递:将变量保存的值所在的内存地址传递给另外一个变量:两个变量指向同一块内存空间。(一个改变一定会影响另外一个,两个变量是同一个值)
$新变量 = &¥老变量;
3.在内存中,通常有以下几个分区
栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但快(空间小运行速度快)
代码段:存储程序的内存部分(不执行)
数据段:存储普通数据(全局区和静态区)
堆区:存储复杂数据,大但是效率低。
4.代码运行步骤
值传递
<?php $a = 1; $b = $a; //值传递 $b = 2; echo $a,$b //1,2 ?>
1.代码装载:从脚本文件中将代码读取出来,进行编译,将编译的结果存放到代码段(字节码)
2.代码执行:从代码中一行一行的执行代码
2.1执行$a = 1:在栈区开辟一块内存存储$a,在数据段中开辟一块内存保存值1;然后将1所造的位置复制给a变量
2.2执行$a = $b:栈区开辟存储$b,发现是赋值运算,会取出$a的值,重新再数据段存储,将新值的内存地址赋值给b变量
2.3执行$b = 2
3.脚本执行结束:系统会回收所有的内存(栈区,代码段)<释放内存>
引用传递
<?php $a = 1; $b = &$a; //引用传递 $b = 2; echo $a,$b //1,2 ?>
1.代码装载:从脚本文件中将代码读取出来,进行编译,将编译的结果存放到代码段(字节码)
2.代码执行:从代码中一行一行的执行代码
2.1执行$a = 1:在栈区开辟一块内存存储$a,在数据段中开辟一块内存保存值1;然后将1所造的位置复制给a变量
2.2执行$a = $b:栈区开辟存储$b,发现是赋值运算,会取出$a所保存的地址,将内存地址赋值给b变量
2.3执行$b = 2
3.脚本执行结束:系统会回收所有的内存(栈区,代码段)<释放内存>
例子: