- PHP定义:服务器端的脚本编程语言,书写动态生成的网页。
- 服务器:提供服务的机器,取决于机器上所安装的软件。
- IP:网络之间的互联协议。
- 域名:由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。目的是便于记忆和沟通的一组服务器的地址。
- DNS:将域名和IP地址相互映射的一个分布式数据库。
- web程序的基本访问流程:浏览器发起访问——DNS解析域名找到IP地址——服务器电脑——通过端口找到服务软件。
静态网站访问:
动态网站访问比静态网站访问多:服务器端解析、数据库。
- 内存中的几个分区:
栈区:程序中可以操作的内存部分(不存数据,只运行程序代码);少但快。
代码段:存储程序的内存部分(不执行)
数据段:存储普通数据(全局区与静态区)
堆区:存储复杂数据,大但效率低。 - 函数执行的内存分析:
①读取代码进入到代码段(编译:将代码编程字节码存储到内存)
②根据代码逐步执行
③编译和执行是分开的
PHP基础知识点
- PHP代码标记:在标记里写PHP代码
ASP标记:<&php代码&>
短标记:<?php代码?>
脚本标记:< script language=“php”>php代码< /script>
标准代码(常用):<?php php代码?> - PHP注释
行注释://、#
块注释:/* */ - 语句分隔符为分号“;”
PHP中标记结束符?>有自带语句结束符的效果,最后一行可没有分号
通常代码最后不建议写?>,而是直接分号结束就可 - 变量
·命名规则:定义变量时不需要任何关键字,但需要在前面添加 $;可用中文命名;其他规则与C类似。
·删除变量:使用unset(变量名字)。为了把它所占用的内存释放掉。
·变量分类:
①预定义变量:即系统定义的变量;此变量都是数组。
$_ GET:获取所有表单以get方式提交的数据;
$_ POST:以POST方式提交的数据都会保存在此;
$_ REQUEST:GET和POST提交的数据都会保存;
$_ SERVER:服务器信息;
$_ SESSION:session会话数据;
$_ COOKIE:cookie会话数据;
$GLOBALS:PHP中所有的全局变量;
$_ FILES:用户上传的文件信息;
$_ ENV:环境信息;
②可变变量(类似C里的指针):如果一个变量保存的值刚好是另外一个变量的名字,可直接通过访问一个变量得到另一个变量的值:在变量前面再多加一个 $符号。C语言是指向地址,PHP是指向变量名。
eg:
<?php
//定义两个变量
$a='b';
$b='bb';
echo $$a;//最后会输出bb
/*
找到$a,解析结果为b;
将前面的$符号与结果b绑定,即为$b
最后输出b的结果
*/
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
③变量传值:即将一个变量赋值给另一个变量。包括值传递与引用传递(指针)。
- 常量
·命名规则:前面不要加$符号;通常以大写字母为主;可以使用一些特殊字符,但只能使用define定义。
·定义常量:define(‘常量名’,常量值); 或者 **const 常量名=值;**这两定义的区别是访问权限。
针对以特殊字符定义的常量,需要使用访问常量的函数:constant(‘变量名’);
·常量分类:
①系统常量:
PHP_VERSION:PHP版本号
PHP_INT_SIZE:整型所占用的字节数
PHP_INT_MAX整型能表示的最大值
②魔术常量:一些特殊的常量,由 双下划线+常量名+双下划线 组成。值会跟着环境变化,用户改变不了。
_ _ DIR_ _ :当前被执行的脚本所在电脑的绝对路径
_ _ FILE_ _ :当前被执行的脚本锁在电脑的绝对路径(带自己文件的名字)
_ _ LINE_ _ :当前所属的行数
_ _ NAMESPACE_ _ :当前所属的命名空间
_ _ CLASS_ _ :当前所属的类
_ _ METHOD_ _ :当前所属的方法 - 数据类型
指存储的数据本身的类型,不是变量的类型,PHP是一种弱类型语言,变量本身没有数据类型。
分类
①整型:int/integer,占四个字节,表示整数类型
②浮点型:float/double,八个字节,表示小数或整型存不下的整数
③字符串型:string,根据实际长度分配,表示字符串,注意引号
④布尔类型:bool/boolean,只有两个值:ture和false
⑤对象类型:object,存放对象(面向对象)
⑥数组类型:一次性储存多个数据
⑦资源类型:resourse,储存资源数据(PHP外部数据,eg数据库,文件)
⑧空类型:只有一个值NULL,不能运算
类型转换
·转换方式:自动转换和强制(手动)转换
·在转换过程中,用的比较多的是转布尔类型(判断)和转数值类型(算术运算)
·其他类型转数值说明:
①布尔ture为1,false为0;
②以字母开头的字符串永远为0;
③以数字开头的字符串,取到碰见字符串为止,且不会同时包含两个小数点
PHP类型比较表
类型判断
·通过 类型判断函数,如is_开头后面跟类型名字的函数:is_变量类型A(变量名B);若B为A型变量,返回为ture;否则,返回为false;
·bool类型不能用echo来查看,可以使用**var_dump(变量1,变量2,…)**查看。最后会返回bool(ture)或boor(false)
·gettype(变量名):获取数据,得到的是该类型对应的字符串。
·settype(变量名A,数据类型B):设定数据类型,将A数据本身,转换为B类型变量;而强制转换处理完后,不改变原来的类型。
·empty():判断数据的值是否为空,如果为空返回true,否则返回false
·isset():判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false - 运算符
- 赋值运算符:=
- 算术运算符:+、-、* 、/、%
- 比较运算符:>、>=、<、<=、= =(大小相同)、!=、= = =(全等于,大小类型都要相同)、!= =
- 逻辑运算符:&&、||、!
- 连接运算符:将多个字符串拼接的一种符号
- . 点:将两个字符串连接到一起
- . =:复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边
- 错误抑制符:@:在可能出错的表达式前面使用(通常在生产环境会用到)
- 三目运算符:(A= B ?C:)
- 自操作运算符:++、- -、+=、-=、*=、/=、%=
- 位运算符:&、|、~、^、<<、>>
- 分支结构
- if分支:同C语言
- swich分支:同C语言
- 循环结构
- for循环:同C语言
- while循环:同C语言
- do-while循环:同C语言
- 循环控制:continue,break
- 流程控制替代语法
分支和循环结构的替代语法。PHP应该在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此PHP提供了对应的分支结构和循环结构的替代语法。
左大括号{ →:冒号替代
右大括号} →end+对应的起始标记替代;