您的位置:首页 > 编程语言 > PHP开发

PHP学习总结(一)

2015-08-10 15:40 603 查看
一.基础知识

1.单双引号皆可声明字符串;双引号中可以直接解析变量,又可以直接使用转义

字符,单引号则不可以,最好使用单引号(效率高);

2.数据类型间的相互转换:

setType(变量型,类

型);//int,integer,float,double,real,bool,Boolean,string,array,object;

$变量=intval(变量或值);

相关函数:

isset();empty();unset();//注销变量;setType();getType();

is_bool();is_int();

define("常量名",值);

3.运算符号:

算术运算符:+ - * / % ++ --

字符串运算符:.

赋值运算符:= += -= *= /= %= ++ --

比较运算符号:> < >= <= ==(比较不转换类型) ===(比较转换类型) !

=或<> !==

逻辑运算符 &&或and ||或or !或not

位运算符: & | ^ << >> >>>

其他运算符:?:(三元运算符) '' @ =>(键名=>键值) -> :: & $

4.PHP的变量范围:

gloabal//要通过这个关键字将全局变量包含到函数中才能使用

static//静态变量只能声明在函数中,不能在全局声明;保存在静态代码段中

,只在第一次调用的时候声明。

变量函数:$var=hell;$var();//将寻找与变量名值相同的函数 hello()

5.require:用于静态包含;require_once

include:用于动态包含;include_once

6.数组的遍历:

for语句循环遍历//不是首选;

foreach循环遍历,foreach(数组变量 as 下标变量=>值变量){}

while() list() each() 组合循环遍历

each():需要一个数组参数,返回一个数组(0,1,key,value,)

list():list()=array(),数组中的元素个数要与list()中的参数个数相同

数组内部的指针控制函数

next(),prev(),reset(),end(),current(),key()//参数均为数组,移动数组

指针

7.超全局数组:

$_REQUEST//经由GET,POST,COOKIE机制提交到脚本的变量,因此该数组不值得

信任,建议不去使用

8.数组相关函数:

array_values();

array_keys();

in_array();

array_key_exists();

array_flip();//交换数组中的键和值

array_count_values()//统计数组中所有的值出现的次数

array_filter()//用回调函数来过滤数组中的单元

arry_walk(),array_map()

排序函数:sort(),rsort(),usort()......

数据结构相关:array_push(),array_pop()//堆栈

array_unshift(),array_shitf()//队列

二.面向对象

1.对象和数组都是复合类型

2.对象的三大特性:封装,继承,多态

封装:使用private,protected,public实现;

继承:父类--基类,子类--派生类;

extend//子类继承父类的protected,public

重载:子类可重载父类方法,但是权限不能比父类低;

子类中编写构造方法,父类中也有构造方法一定要去调用一次呗覆盖的

那个构造方法。

对象->成员 类::成员

父类名::方法名();

parent::方法名();

多态:让具有继承关系的不同类对象,可以对相同名称的成员函数调用产生

不同的反应效果。

3.构造方法:对象完成创建后第一个调用的方法__construct()

析构方法:对象被释放之前最后一个自动调用的方法__destruct()

魔术方法:在类中写了某个魔术方法,这个方法对象的功能就会添加上。

4.关键字:

final:只能修饰类和方法,不能修饰成员属性(修饰的类不能被继承和覆盖)

static:可修饰成员属性和方法,不能修饰类(可被同一个类的所有对象共享



静态成员::类名::成员,在内部访问其他成员 self::成员

self与$this的功能极其相似,但二者又不相同。$this不能引用静态成员和常

量。self更像类本身,而$this更像是实例本身。

const:只能修饰成员属性,类中声明常量。访问方式和static类似。

5.常用魔术方法:

__call()//在调用对象中不存在的方法的时就会出现系统报错,然后退出程序

__toString()//这届输出应用对象时自动调用

__clone()//克隆对象使用clone去处理,$this代表副本,$that代表原本

__autoload()//唯一一个不再类中添加的方法,在页面中使用类自动将类名传

递给这个参数。

serialize:参数是一个对象,返回来的就是串行后的二进制串

unserialize():参数就是对象的二进制串,返回来的就是新生成的对象

__sleep()

7.抽象类,接口,多态:

抽象类是一种特殊的类,接口是一种特殊的抽象类,而多态就要使用到抽象类

或接口。

抽象方法:没有方法体的就是抽象方法;//abstract function test()

抽象类:只要有一个抽象方法就是抽象类,要使用修饰词abtract.

其他不变,抽象类不能被实例化。

子类继承抽象类时要重载抽象类中的抽象方法。

接口:接口中的所有方法都必须是抽象方法;

只能声明常量,不能声明变量,接口的成员访问权限都必学是public;

抽象类中的最低权限是protected。

声明方式interface 类名{}(抽象方法不适用abstract);

使用接口用关键字implements;

类--接口,抽象类--接口//implements

接口--接口:extend

可继承多个接口,但是只能继承一个父类。

三.字符串的处理

php中的所有字符串处理函数,都不是在原字符串上修改的,而是返回一个新的

格式化后的字符串。

1.substr();//字符串截取

2.常用的字符串输出函数:

echo()

print()

die()--exit()

printf()

sprintf()

3.常用的字符串格式化函数:

ltrim()

rtrim()

trim()//去掉空格

str_pad()//字符串两边填充内容

strtolower()//转换成小写

strtoupper()//转换成大写

ucfirst()//首字母转换成大写

ucwords()//每个单词首字母大写

n12br()//在字符串所有新行之前加入换行标记

htmllentities()

htmlspecialchars()//上面一个和这一个防止输出HTML标签输出

stripslashes()//反引用一个斜线

strip_tags()//从字符串中去除HTML和PHP标记

number_format()//以千位分隔符方式格式化一个数字

strrev()//反转字符串

md5();//加密
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: