目录
-
PHP基础语法
-
简介
PHP是Hypertext Preprocessor的缩写(超文本预处理器)是一种在服务器端运行的开源的脚本语言。
LAMP组合(Linux,Apache,mysql,PHP),这四个是公开源代码的产品。
1.PHP是一门语言,用来做业务逻辑。
2.Apache为PHP提供了运行环境。
3.Linux为Apache的运行提供了平台。
4.mysql数据库用来存储数据。
WAMP组合(Windows,Apache,mysql,PHP)
-
静态网站和动态网站特点
静态网站
1.静态网页是实实在在保存在服务器上的文件,每个网页都是独立存在的文件。
2.静态网页内容相对稳定,容易被搜索引擎检索。
3.静态网页没有数据库的支持,在网页制作和维护方面工作量大,因此当网站信息量很大时完全依靠静态网页时比较困难。
4.静态网页交互性很差,在功能方面有较大的限制。
动态网站
1.交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁 。
2.自动更新:即无须手动更新HTML文档,便会自动生成页面,可以大量节省工作量。
3.因事因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。
BS架构和CS架构
1.BS(browser srever):通过浏览器去访问服务器
优点:只有浏览器可以访问,开发低。
缺点:开发的代码都放在服务器上。
2.CS(client server):通过客户端软件去访问服务器
优点:可以开发客户端和服务器端,可以实现负载的均衡。
缺点:必须安装一个网站才能访问,开发成本高
-
PHP语法
1.PHP标记
PHP和其他几种web语言一样,都使用PHP代码部分包含起起来。
ASP风格
语法:<%ASP代码%>
简短风格
语法:<?PHP代码?>
脚本风格
语法:<script language="php">php代码</script>
XML风格(标准风格)
语法:<?php PHP代码;?>
2.PHP注释
单行注释(//)
多行注释(/*......*/)
风格注释(#)
3.语句结束符
结束时都以分号结尾(英文状态下的分号)
4.PHP输出语句
echo:输出
print:输出成功返回一
print_r():输出数组
var_dump():输出数据的详细信息,带有数据类型和数据长度
-
PHP变量与常量
-
变量
1.概念
PHP变量是指在程序执行的过程中数值可以变化的量。变量通过一个名字(变量名)来标识。
2.命名规则
变量必须以$开头,仅后面的标识符是变量名;
除了$以外,以字母、下划线开头,后面跟着数字、字母、下划线;
变量名区分大小写。
3.预定义变量
提前定义的变量,系统定义的变量,存储许多需要用的数据。
$_GET: 获取所有表单以 get 方式提交的数据。
$_POST: POST 提交的数据都会保存在此。
$_REQUEST: GET 和 POST 提交的都会保存。
$GLOBALS: PHP中所有的全局变量
$_SERVER: 服务器信息
$_SESSION: session会话数据
$COOKIE: cookie 会话数
$_ENV: 环境信息
$__FILES: 用户上传的文件信息
4.可变变量
将一个变量赋值给另一个变量:变量传值。
变量传值的方式:
- 值传递:将变量保存的值赋值一份然后将新的值给另外一个变量保存,两个变量各自使用各自的内存(两个变量没有关系)。
- 引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块空间(两个变量是同一个值)。
内存分区:
栈区:程序可以操作的部分,少但是快。
代码段:存储程序的内存部分(不执行)。
数据段:存储普通的数据。
堆区:存储复杂数据,大但是效率低。
-
常量
1.概念
PHP常量可以理解为值不变的量,常量被定义之后,在脚本的其他任何地方都不能改变。一个常量由英文字母、下划线和数字组成,但是数字不可以作为首字母出现。
2.预定义常量
echo PHP_VERSION,'<br>'; PHP版本号
echo PHP_OS,'<br>'; PHP操作系统
echo PHP_INT_MAX,'<br>'; PHP中整型的最大值
3.魔术常量
echo _LIKE_,'<br>'; 获取当前行号
echo _FILE_,'<br>'; 文件的完整路径和文件名
echo _DIR_,'<br>'; 文件所在的目录
-
PHP数据类型
-
简介
在PHP中指的是存储的数据本身类型,而不是变量类型。PHP是一种弱类型语言,变量本身没有数据类型。
PHP支持8种数据类型:
4种标量类型:Boolean(布尔型),integer(整型),float/double(浮点型)和string(字符串型)
2种复合类型:array(数组)和object(对象)
2种特殊类型:resource(资源)和null
-
整数
保存整数类型(范围限制),4个字节存储数据,范围-2147483648~+214786347
整数可以用二进制(bin),十进制(dec),八进制(oct)和十六进制(hex)表示。如果用八进制,数字前必须加0,;如果用十六进制则需要用0x。
-
浮点型
小数类型以及超过整型所能够存储的范围整数(不保证精度)。精度大概在15个有效数字左右。
-
字符串类型
字符串是连续的字符序列,由数字、字母和符号组成。字符串中的每个字符只占用一个字节。
在PHP中有三种定义字符串的方式,分别是单引号(' ')、双引号(" ")和定界符(<<<)。
单引号跟双引号的区别,单引号字符串是真正的字符串,双引号是要解析字符串中的变量。
{ }取变量,表示获取变量的值。
转义字符输出特殊字符
-
PHP运算符
-
概念
运算符是用来计算对变量,常量或数据进行计算的符号,它是对一个值或一组值执行一个指定的操作。
PHP运算符主要包括算术运算符、字符串运算符、赋值运算符、位运算符、逻辑运算符、比较运算符、递增递减运算符和条件运算符。
运算符优先级
-
算术运算符(arithmetic operators)
-
递增递减运算符
有两种使用方法
1.将运算符放在变量前面,即先将变量做加1或减1的运算后再赋值给原变量叫做前置递增或递减运算符。
2.将运算符放在变量后面,即先返回变量的当前值然后变量的当前值做加1或减1的运算,叫做后置递增或递减运算符。
-
比较运算符
概念
比较两个数据的大小,护着比较两个内容是否相同,返回的结果都是布尔类型:满足则为true,不满足则返回false。
运算符 | 说明 | 举例 |
---|---|---|
< | 小于(左边小于右边,返回结果true) | $m < $n |
> | 大于(左边大于右边,返回结果true) | $m > $n |
<= | 小于等于(左边小于或者等于右边,返回结果true) | $m <= $n |
>= | 大于等于(左边大于或者等于右边,返回结果true) | $m >= $n |
== | 等于(左边的与右边的相同(大小相同)) | $m <== $n |
!= | 左边的与右边的不同(大小不同) | $m != $n |
=== | 全等于,左边与右边相同:(大小以及数据的类型都要相同) | $m === $n |
!== | 不全等于,只有大小或者类型不同 | $m !== $n |
-
逻辑运算符
-
字符串运算符
字符串运算符只有一个,就是英文的句号“.”,把两个字符串连接起来。
-
错误抑制符
在PHP中明知有些错误会报错,但不想让他报错,就用到了错误抑制符(@)。
-
PHP循环结构
-
流程控制
1.概念
代码执行的方向。
2.控制分类
顺序结构:代码从上到下顺序执行。
分支结构:给定一个条件,同时有很多种可执行代码(块),然后会根据条件执行某一段代码。
循环结构:在某个条件控制范围内,指定代码(块)可以重复执行。
-
分支结构(条件控制语句)
条件控制语句主要有if、if...else、elseif和switch4种。
基本语法一
if(条件表达式){
//满足条件后执行的代码块
}
基本语法二
if(条件表达式){
//满足条件后执行的代码块
}else{
//不满足条件执行的代码块
}
基本语法三
If(条件表达式1){
//满足条件表达式1的代码段;
}elseif(条件表达式2){
//不满足表达式1条件,但是满足表达式2的代码;
}… //可以使用多个elseif来进行再次条件筛选
else{
//全部不满足要执行的代码;
}
-
switch分支语句
1.概念
有一组情形存在,通过一条件,通常有多个值,但是每一个都会有相对应不同的代码要执行。
2.基本语法
switch(条件表达式){
//所有条件判断:逐个进行
case 值1: //当前条件表达式的结果与值1相等
要执行的代码段;
break; //匹配成功停止匹配
case 值2:
要执行的代码段;
break;
...
default; //可以使用类似else的语法:都不匹配
//匹配失败的代码;
break;
}
-
循环结构语句
1.概念
代码段在一定的控制下,可以多次执行。
2.循环结构分类
for循环:通过条件、起始和终止判断执行
语法:
for(初始值;条件;增量){
//循环体
}
while循环:通过判断条件终止
语法:
while(条件表达式){
循环体
}
Do-while循环:跟while差不多
语法:
do{
//循环体
}while(条件表达式);
foreach循环:专门针对数组
语法:
foreach($array as $value){
要执行代码;
}
-
跳转语句
break
break关键字可以终止当前的循环,包括while、do...while、for、foreach和switch。
不仅可以跳出当前循环,还可以跳出几重循环。
continue
continue关键字没有break强大,他只能终止本次循环而进入到下一次循环。也可以跳出几重循环。