当前位置:首页> PHP教程> PHP入门
关键字
文章内容
php知识总结
 
 
修改时间:[2012/07/25 09:00]    阅读次数:[1573]    发表者:[沩筱]
 

--------------------LAMP构建和HTML--------------------
B/S软件体系介绍
B/S:Browser(浏览器)  –  Server(服务器)
B/S软件结构在用户体验、使用、升级、数据储存、更新的优势
用户体验:界面的一致性
使用:无需安装,只要浏览器即可
升级:使用的总是当前最新版本,升级仅需升级服务器即可
数据储存:数据储存在云端,无需担心丢失
更新的优势:更新换代周期快,更新方便
HTTP协议,URL组成及作用
HTTP协议是一种超文本传输协议。用来规范浏览器和服务器间如何通信。
超文本相对于纯文本来言,可以显示图片和视频等内容
URL就是网站地址:格式:http://<IP地址>[端口号]/[路径]/[?<查询信息>]
动态网站运行原理
动态网站并不是指具有动画功能的网站,而是指网页内容富有变化,能从数据库获取数据的网站。  动态网站除了要设计网页外,还要通过数据库和编写程序来使网站具有更多自动的和高级的功能。动态网站体现在网页一般是以php,jsp,asp等结束,而静态网页一般是HTML结尾。
Web构件及其用途
客户端浏览器
IE家族浏览器
非IE家族浏览器
超文本标记语言
HTML(Hypertext  Markup Language),用于装载网页内容
叠层样式表
CSS是Cascading Style Sheet  用来决定网页显示效果
客户端脚本编程语言
客户端脚本脱离服务器运行,不直接执行数据库操作。它实现了客户端上的简单逻辑。JavaScript是我们常用的客户端脚本语言。
服务器端编程语言
服务器端脚本是用来协助Web服务器工作的编程语言,也可以说是对Web服务器功能的扩展,并外挂在服务器上一起工作。较为常见的服务器端脚本语言:  Microsoft的ASP,SUN的JSP和ZEND的PHP的
数据库管理系统
MySQL  特点:高性能,稳定可靠,跨平台,易于部署,开发团队庞大,免费。  
HTML学*
HTML全局标签
<html>
< head>
这些标签可用在 head  部分:<base>,<link>,<meta>,<script>,<style>,  以及<title>。
<body>
text-文字颜色
1.text 属性可以设置的值为:
rgb(x,x,x)  
#xxxxxx
colorname  
bgcolor-背景颜色
background-背景图像
HTML格式标签
<marquee> -  实现滚动效果
direction=“left“ //移动方向 left|right
behavior=“scroll”  //移动方式  scroll|slide|alternate -方式
loop=“3” //移动次数,不指定就循环不止
scrollamount=“20”  //移动速度
scrolldelay=“500” //延时,毫秒数
bgcolor=“”;//颜色
height=“40”width=“50%” //宽高
<br> - 换行
<p> - 段落换行
<center>  -居中
<pre> -原样输出<hr>  -横线
--------------------LAMP构建和HTML(2)--------------------
HTML  标签
<ul> -无序列表标签
<ol> -有序列表标签
<li> -  列表项目标签
<hn> - 标题字标记 n 1-6
< b> - 粗体字标签
<i> -  斜体字标签
<u> -下划线标签
<sub> - 下标字体标签
<sup> -  上标字体标签

HTML(XHTML)书写规范
所有标签都必须有相应的结束标签
所有标签的元素和属性的名字都必须使用小写
所有标签必须合理嵌套
给所有属性都赋值
HTML  语法
单标签和双标签
单标签<br/><hr/><img/><input/><meta/><link/><base/>
其他的都是双标签
标签属性
<标签  属性名=“属性值”> 可用双引号,单引号,不加引号;推荐使用双引号<a href=“
http://www.eoncn.com/”>这里是链接</a>
大小写不敏感
必须用小写  如<body> 而不是<BODY><BoDy>
文档注释
< !-- 注释内容  -->
排版
半角空格无论多少个,浏览器都认为是一个空格
全角空格则正常显示
回车看作半角空格
字符实体
空格      
< 小于号 < <
> 大于号 > >
&  和号 & &
"  引号 " "
' 撇号  ' (IE不支持) '
版权  ?  ?
颜色设置
RGB
R:red
G:green
B:blue
颜色由一个十六进制符号来定义,这个符号由红色、绿色和蓝色的值组成(RGB)。
每种颜色的最小值是0(十六进制:#00)。最大值是255(十六进制:#FF)。  
图像标签
<img src=“”/>
属性  width、height、alt、title、border
超链接
href:链接地址 target :
_self  当前窗口中打开,默认值
_blank 新建窗口打开
_parent 父级窗口打开,用于框架
_top  顶层窗口打开,用于框架
锚点
<a name=“maodian1”/>
<a  href=“#maodian1”>点击此处</a>
< a  href=“other.html#maodian1”>点击此处</a>
表格
表格标签<table>
align、border、width、height、cellspacing、cellpadding
行标签<tr>
align、valign、bgcolor
单元格标签<td><th>
width、height、valign、align、rowspan、colspan
标题标签<caption>
框架
多用于后台
<frameset>  -切刀子
cols –竖着切到
rows –横着切刀
frameborder
border
< frame>  
src
name
noresize
scrolling
--------------------CSS--------------------
CSS语言是一种标记语言,因此不需要编译,可以直接由浏览器执行。
CSS文件是一个文本文件,它包含了一些CSS标记  ,CSS文件必须使用.css为文件名后缀。
CSS是大小写  不敏感的,CSS与css是一样的。
CSS是由W3C的CSS工作组产生和维护的。
可以通过简单的更改CSS文件,改变网页的整体表现形式,可以减少我们的工作量,所以它是每一个网页设计人员的必修课。
注意:选择符和{}之间要保留一个空格,属性:值后面要加一个;。
样式表能实现内容与样式的分离,方便团队开发。
CSS定义分别由:选择符,属性,属性取值组成。
选择符可以是HHTML中的标记名称,属性和值之间用冒号分开,多个属性之间加分号  。
CSS语法中推荐使用小写。
CSS选择符:HTML选择器 类选择器 ID选择器 关联选择器 组合选择器  伪类选择器。
HTML选择符即是HTML标签,用来改变一个指定标签的样式,任何HTML元素都可以是一个CSS的选择符。
CSS的引用方法:内联样式表,嵌入一个样式表,引用外部样式表(HTML方式,CSS方式)
内联样式表,就是把CSS样式直接作用在HTML标签中  。
特点是,内联的样式比其他方法更加灵活,但需要和战士的内容混淆在一起,内联样式会失去一些样式表的优点。
嵌入一个样式表,使用style标签直接把CSS文件中的内容加载到HTML文档内部的<head>标签里。
特点是适合用于一个HTML文档具有独一无二的样式。
一般的浏览器都带有缓存功能,所以拥护不用每次都下载此CSS文件。
外部引用相对与内部引用和内联引用来说是高小的是节省带宽的。
外部引用是W3C推荐使用的。
@import的方式可以引用多个样式表。
可以在CSS文件中继续放入@import,但是必须要在顶部。
最多可以嵌套31个@import。
使用HTML方式引用的样式表是运行到哪里就将样式应用到哪里。
使用@import的方式引用的样式表是页面完全加载完成之后再应用到整个页面。
CSS优先级:
调用上:就近原则。
选择符:id>class>html标签。
使用上:越特殊越优先。
font-style字体风格
font-variant字体异体
font-weight字体加粗
font-size字体大小
Font:[<字体风格>||<字体变形>||<字体加粗>]?<字体大小>[/行高]?<字体族科>顺序不能改变。
background-color:英文/RGB10进制/16进制/百分比。
background-image:url(URL)定义背景图片。
background-repeat:repeat-x(横)/y(竖)/no-repeat(不平铺)定义图片平铺方式。
background-attachment:fixed(固定)/scroll(滚动“默认”)定义背景图片是否滚动。
background-position:x%  y%/*px  *px定义背景图片在页面的位置,也可以使用英文的方式,还可以是直接用像素来定义默认方式是先X,后Y。
//注意,一定要在数字后面添加单位,否则IE解析错误,(纵坐标小于100无错误)。
letter-spacing:像素  单字间距。
word-spacing:像素  单词之间的间距,如果是中文,将中文之间的空格作为间距,中文的全角空格无效。
text-decoration:line-through(删除线)overline(上划线)underline(下划线)添加文本修饰"blink(闪烁)只有火狐浏览器支持"。
text-align:center/left/right(对于当前所在标签生效,而不是对整体页面生效)。
text-indent:值(首行缩进)可以赋负值。
line-height:值(设置行高)。
border-style:solid实线/dotted虚线/dashed虚线。
border-width:像素(边框宽度)。
border-color:英文/RGB10进制/16进制/百分比(边框颜色)。
border-style:遵循上右下左顺时针,上下,左右。
border:1px  solid  red连写方式。
border-top/bottom/left/right-style:定义四个边框
cursor:控制鼠标指针。
list-style-type:设顶引导列表项的符号。
list-style-image:url(URL)用图像作为引导列表项的符号
list-style-position:inside/outside列表项目标记在边框的内外。
list-style:image  type  position列表风格联写。
--------------------DIV+CSS--------------------
盒子模型
margin
padding
border
为了兼容,  在HTML前面加DTD头。
调整所有元素的内外边距都为0
*{
margin:0;
pading:0;
}
DOM(文档对象模型):标签的树形结构
块级元素:center  div dl ol ul form hn p hr
行内元素:b a b big i img input small span strong sub  sup textarea  u
无意义的标签,但有大意义。
<div>是块级元素
<span>是行内元素
对于包裹的元素没有任何作用
<div>相当一个容器,可以容纳各种HTML元素
<span>同div,区别在于span是行内元素
标准流
块级元素和行内元素在DOM中自然的排列的就是标准流。
当两个行内元素紧邻时,他们的外边距是累加的。
块级元素之间的垂直距离是两者之中较大者,这个现象成为margin的“塌陷”
盒子是嵌套的时候,father和son的padding和margin是累加的。
当son元素的规格大于father的规格,会超出father的外框。
margin可以是负值。会出现覆盖现象。
float只有left和right。脱离标准流。内容决定宽度。
clear清除浮动left、right、both。
fixed固定定位,相对当前窗口进行定位。
relative相对定位是相对它原本的位置偏移指定距离。
absolute绝对定位,绝对定位的盒子从标准流中脱离。
使用绝对定位的盒子以它最近的一个已经定位的祖先元素为基准进行偏移。
祖先元素没有定位以浏览器为标准
z-index优先值大的在上面。
display:inline将块级元素定义为行内元素。
display:block将行内元素定义为块级元素。
display:none不显示内容。
margin:0  auto;普遍的居中方式。
--------------------PHP基本语法--------------------
PHP:服务器端脚本语言。
PHP's  Hypertext Preprocessor缩写。
Personal home  page。
PHP主要功能:收集数据,生成动态网页,字符串,图象,文件处理,操作数据库,其他高级操作。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
PHP几乎支持所有的数据库以及操作系统。
PHP书写格式<?php开始标记  ?>结束标记
<script  language="php"></script>也是一种书写格式,但是没人使用。
< ?  ?>也是一种书写格式,短标签,需要在PHP配置文件中开启短标签。
< ?= "hello world!"?>等于echo。
echo  将内容输出到浏览器中。
PHP中可以嵌套HTML的代码。
PHP语言可以放到HTML的任意标签之间。
PHP是解释性语言,JAVA/C语言都是编译性语言。
语句结束符  ;在开始标记和结束标记中间的最后的语句可以不用加语句结束符。
PHP中的注释 /*text*/多行注释    //text单行注释    #text单行注释。
变量就是可以发生变化的量。
变量的命名方式,$开始,后面跟变量的名称,名称以字母或者下划线开始,后接任意数量的字母,下划线,还有数字,变量不可以以数字和特殊符号开头,中间不可以有空格或点。
变量的作用域只作用在当前所在脚本中。
PHP中有8种数据类型,4种标量:整型、浮点型、字符串型、布尔型。2种资源类型:NULL和资源。2种特殊类型:数组和对象。
整型也就是整数类型,PHP中指定的整数包括十进制,八进制和十六进制。
对于八进制,需要在数字前面加上数字0。
对于十六进制,需要在数字前面加上0x。
整型不需要引号。整型的变量可以直接计算。
单引号中,只能转义单引号和转义符\,执行效率更高,双引号可以解析变量,变量可以用{}包括,也可以在变量后面加空格。
BOOL数据类型不区分大小写  true false 定义不能加引号。==返回BOOL值。
NULL:没有赋值的变量。
伪类型:callback mixed  number。
var_dump显示数据类型。强制转换类型在变量名称之前加上()内写上类型。
将某种数据类型强制转换成BOOL型的时候,有值则为真,无值则为假。
常量命名一般使用大写字母常量的值一旦设置,不能改变,常量在本页面任何位置全局生效,而变量分为全局变量和局部变量,常量的范围比变量的大的多,常量只能说标量,常量前面没有$,只能用define()来定义,而不能用赋值方式。
系统常量有很多,__FILE__文件的完整路径和文件名  __LINE__文件中的当前行号 __DIR__文件所在目录  PHP_VERSION查看当前PHP版本号。
运算符就是对变量或数值进行操作的符号,算术运算符:+-*/  %取余。
++放在变量后面,先输出,然后再将本身+1。
++放在变量前面,先将本身+1,然后再输出。
--同++
字符串运算符只有一个(.)。
赋值运算符  += -= *= /= %= .=  。
+=相当于变量=变量+1,其他赋值运算符同+=。
比较运算符< > >= <=  == === <> !=  ===不仅比较值,还要比较类型。
<>  !=不等于  !一般代表取反的意思。
--------------------PHP语言结构--------------------
echo  连接两个语句的时候,可以用逗号。
任何一门程序语言中,都需要三种基本结构。
分别是 顺序结构 分支结构 循环结构。
顺序结构  程序依照自然的状态,从上至下的执行,就是顺序结构。
在顺序结构中,如果需要依照不同条件执行代码的话,需要使用分支结构。
分支结构  单一条件分支结构,双向条件分支结构,多向条件分支结构,巢状条件分之结构。
单一条件分支结构 if  需要注意:语句块的位置,花括号的使用,if后面不可以加分号 。
双向条件分支结构 if else 如果 ,否则  ,如果为真就执行IF内的语句,如果为假,就执行else中的语句。
多向条件分支结构 if elseif 如果  ,否则如果,如果为真就执行IF内的语句,如果为假,就继续判断下一个IF是否为真,如果为真,就执行IF中的语句,否则执行else中的语句  。
多向条件分支结构 switch  将SWITCH定义的表达式与case比对,如果相等,就执行当前case中的语句,如果不相等,则判断下一个case是否相等,如果都不匹配,则执行default中的语句,default可以不定义。
巢状条件分支结构,就是  if else的嵌套。
循环结构就是按照一定条件6反复地执行一段代码程序。
一定条件:称为循环条件。
反复执行的代码程序  :成为循环体。
在PHP中提供三种循环体,分别为:while do-while for。
while  当while循环语句中表达式的结果为真时,程序将反复执行同一段程序:循环体,直到满足一定的条件后才停止执行该段代码。
程序会先执行do语句体中的语句,然后再检查表达式的值,如果符合条件式,就再进行do语句体中的语句,直到条件不符合。
注意:do-while后面必须加上分号做为结束。
do-while与while的最大区别是先执行循环体然后再判断循环的控制条件。
for循环语句中表达式1为循环初始条件;表达式2为循环控制条件;表达式3为控制变量递增;语句或语句序列为循环体。
break  如果break使用在for,while,do-while循环结构中时,将会使得程序离开该层循环。
continue的作用与break有点类似,continue若使用在for,while,do-while循环结构中,当程序执行至continue时,之后的语句将直接被略过,而直接执行下一次的循环动作。
exit  当前的脚本中只要执行到exit语句,而不管它在哪个结构中都会直接退出当前脚本。exit是一个函数,当前使用过的ide函数就是exit  的别名。可以带参数输出一条消息,并退出当前脚本。
--------------------函数--------------------
函数的作用:控制程序设计的复杂性,提高软件的可靠性,提高软件的开发效率,提高软件的可维护性,提高程序的重用性。
函数,是一段用来完成指定任务的代码块。
定义函数的关键字  function。
声明函数:function  函数名 (){//函数体}。
函数如果不被调用就不会执行  。
在PHP中有两种函数:自定义函数 与  系统函数。
在PHP5中有1000多种系统函数。
函数的声明:自定义函数由关键字、函数名、参数列表(可没有)、函数体、返回值(可没有)组成。
函数名命名规则同变量,但不区分大小写,且唯一。
函数名的命名*惯:将两个单词中间用下划线分开,是目前最流行的命名*惯,另外一种命名*惯将两个单词中后一个单词用大写字母开头。
函数可以有返回值也可以没有,返回值用关键字return,return一个值后,后面的代码不会被执行  。
不能在同一个页面出现两个同名的自定义函数,可以多次调用。
局部变量:不可以在函数外部使用。函数体内部的变量。
全局变量:函数体外部的变量。
global将局部变量转换成全局变量,转换多个变量时,用逗号隔开,后面的变量不能直接赋值。
static将变量变成静态变量,必须立刻赋值一个初始值,静态变量只会被初始化一次。
函数的参数用于接收值,以便于函数内部进行计算和处理。
调用函数的时候,传入的参数值优先级大于默认的值。
声明函数时候的参数是形参,调用函数时候的参数是实参。
一定要先使用系统函数  ,如果系统函数没有想要的功能,再去自己定义函数。
内部函数:PHP可以在函数内部再声明函数,目的就是在函数的内部调用,就是用来帮助外部函数完成一些子功能的。
递规函数:就是在自己内部调用自己的函数名。
重用函数:使用自己定义的函数库。
--------------------数组--------------------
数组的本质:管理和操作一组变量,成批处理。
数组是复合类型的一种。
数组中可以存储任意长度的数据,也可以存储任意类型的数据。
数组就可以完成其他语言数据结构的功能(链表,队列,栈,集合类)
数组中存有多个单元,(单元在数组里称为元素)。
每个元素都是由下标和值组成的,(键和值)
单独访问元素的时候,都是通过下标(键)来访问元素的。
数组分为,一维数组,多维数组,(数组的数组,就是在数组中存有其他的数组)。
在PHP中有两种数组,一种是索引数组,一种是关联数组。
索引数组:就是下标是顺序的整数作为索引。
关联数组:就是下标是字符串作为索引。
下标(整数,字符串),只有这两种。
数组的声明
直接为数组元素赋值声明,如果索引下标不给出,就会从0开始顺序索引,如果给出索引下标,下一个就会是从最大的开始增1,如果后面出现前面的下标,如果是赋值就是为前面的元素重新赋值。
混合声明时,索引和关联不互相影响(不影响索引下标的声明)。
使用array()函数声明,默认是索引数组,如果为关联数组和索引数组指定下标需要使用  键=>值,多个成员之间使用 ,分隔  。
使用其他的函数声明。
数组的遍历:
使用for语句循环遍历数组,不是PHP中首选方式,数组必须是索引数组,而且下标还必须是连续的(PHP中索引数组下标还可以不连续,数组还有关联数组)。
使用foreach语句循环遍历数组,循环次数由数组的元素个数决定,每一次循环都会将数组中的元素分别赋值给后面的变量。
使用while()  list() each()组合循环遍历数组。
each  函数需要一个数组作为参数,返回来的也是一个数组,返回来的数组是0,1,key,value四个下标(固定的),0和key下标是当前参数数组元素的键,1和value下标是当前参数数组元素的值,默认当前元素就是第一个元素,每执行一次后就会将当前元素向后移动,如果到最后的元素再执行这个函数,则返回假。
list()=array();需要将一个数值赋值给这个函数,数组中的元素个数  ,要和list函数中的参数个数相同,数组中的每个元素值会赋值list 函数 中的每个参数,list将每个参数转为变量,list只能接收索引数组  ,按索引的下标的顺序 。