当前位置: 编程技术>php
本页文章导读:
▪PHP学习正则表达式 课件第1/2页
正则表达式 在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异: 一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_”为前缀命名的函数; 一套由POSIX.........
▪PHP学习 mysql第1/2页
数据类型种类 整形:可以有十进制和十六进制表示 符点形:浮点数由一个数字加一个小数点再加上一个数字组成。两个数字序列不能同时为空。 字符串:由单引号或者双引号括起来.........
▪php学习 面向对象 课件第1/2页
对象的主要三个特性 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。 对象的表示:对象的表示就相.........
[1]PHP学习正则表达式 课件第1/2页
来源: 互联网 发布时间: 2013-11-30
正则表达式
在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异:
一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_”为前缀命名的函数;
一套由POSIX(Portable Operating System Interface of Unix )扩展提供的(PHP默认)。使用以“ereg_”为前缀命名的函数;
PHP中,正则表达式有三个作用:
匹配,也常常用于从字符串中析取信息。
用新文本代替匹配文本。
将一个字符串拆分为一组更小的信息块。
一个正则表达式中至少包含一个原子。
原子(普通字符,如英文字符)
元字符(有特殊功用的字符)
模式修正字符(对正则表达式语义的修正)
原子(Atom)
单个字符、数字,如a~z,A~Z,0~9。
模式单元,如(ABC)可以理解为由多个原子组成的大的原子。
原子表,如 [ABC]。
重新使用的模式单元,如:\\1
普通转义字符,如:\d, \D, \w
转义元字符,如:\*,\.
POSIX正则表达式
POSIX正则表达式全称为Portable Operating System Interface of Unix,意为UNIX可移植操作系实现接口。
构造POSIX正则表达式的方法和创建数学表达式的方法一样,也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。
元字符(Meta-character)
元字符是用于构造规则表达式的具有特殊含义的字符。如果要在正则表达式中包含元字符本身,必须在其前加上”\”进行转义
元字符 说明
* 0次、1次或多次匹配其前的原子
+ 1次或多次匹配其前的原子
? 0次或1次匹配其前的原子
| 匹配两个或多个选择 列如 [1-9]|[a-b]|[A-Z] 与其中任何匹配为ture
^ 匹配字符串串首的原子 例如 abscd===^afdgfgf 相匹配
$ 匹配字符串串尾的原子 例如 dasdsv===v$
[] 匹配方括号中的任一原子 例如 s===[dsadas]
[^] 匹配除方括号中的原子外的任何字符 例如 aaaaa===[dddd]
{m} 表示其前原子恰好出现m次
{m,n} 表示其前原子至少出现m次,至少出现n次(n>m)
{m,} 表示其前原子出现不少于m次
() 整体表示一个原子
. 匹配除换行之外的任何一个字符
^ $ 这两个原字符在一起称为定界
abd===^abc$ 只有这样才匹配
模式匹配的顺序
顺序 元字符 说明
1 () 模式单元
2 ?* +{} 重复匹配
3 ^$ 边界限制
4 | 模式选择
POSIX正则表达式函数
ereg()和eregi()
ereg_replace()和eregi_replace()
split()和spliti()
ereg()和eregi()ereg()字符串匹配函数,eregi()是ereg()函数的忽略大小的版本
语法格式:if (!ereg('^[^./][^/]*$', $userfile))//不匹配格式输出die
{
die('这是一个非法的文件名!');
}
ereg_replace()和eregi_replace(忽略大小写)替换
string eregi_replace (“正则表达式”,“目标替换字符”,“替换目标”)
语法格式:$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);\\1 为继承第一个整体
echo ereg_replace("(( )is)", "\\2was", $string);\\2继承第二个整体
split()和spliti(忽略大小写)用正则表达式将字符串分割到数组中
list:给数组中的值赋予一些变量
语法格式:$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);//列出三个变数对应格式//以什么形式拆分 拆分谁
echo "Month: $month; Day: $day; Year: $year<br />\n";
输出结果Month: 04; Day: 30; Year: 1973
在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异:
一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_”为前缀命名的函数;
一套由POSIX(Portable Operating System Interface of Unix )扩展提供的(PHP默认)。使用以“ereg_”为前缀命名的函数;
PHP中,正则表达式有三个作用:
匹配,也常常用于从字符串中析取信息。
用新文本代替匹配文本。
将一个字符串拆分为一组更小的信息块。
一个正则表达式中至少包含一个原子。
原子(普通字符,如英文字符)
元字符(有特殊功用的字符)
模式修正字符(对正则表达式语义的修正)
原子(Atom)
单个字符、数字,如a~z,A~Z,0~9。
模式单元,如(ABC)可以理解为由多个原子组成的大的原子。
原子表,如 [ABC]。
重新使用的模式单元,如:\\1
普通转义字符,如:\d, \D, \w
转义元字符,如:\*,\.
POSIX正则表达式
POSIX正则表达式全称为Portable Operating System Interface of Unix,意为UNIX可移植操作系实现接口。
构造POSIX正则表达式的方法和创建数学表达式的方法一样,也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。
元字符(Meta-character)
元字符是用于构造规则表达式的具有特殊含义的字符。如果要在正则表达式中包含元字符本身,必须在其前加上”\”进行转义
元字符 说明
* 0次、1次或多次匹配其前的原子
+ 1次或多次匹配其前的原子
? 0次或1次匹配其前的原子
| 匹配两个或多个选择 列如 [1-9]|[a-b]|[A-Z] 与其中任何匹配为ture
^ 匹配字符串串首的原子 例如 abscd===^afdgfgf 相匹配
$ 匹配字符串串尾的原子 例如 dasdsv===v$
[] 匹配方括号中的任一原子 例如 s===[dsadas]
[^] 匹配除方括号中的原子外的任何字符 例如 aaaaa===[dddd]
{m} 表示其前原子恰好出现m次
{m,n} 表示其前原子至少出现m次,至少出现n次(n>m)
{m,} 表示其前原子出现不少于m次
() 整体表示一个原子
. 匹配除换行之外的任何一个字符
^ $ 这两个原字符在一起称为定界
abd===^abc$ 只有这样才匹配
模式匹配的顺序
顺序 元字符 说明
1 () 模式单元
2 ?* +{} 重复匹配
3 ^$ 边界限制
4 | 模式选择
POSIX正则表达式函数
ereg()和eregi()
ereg_replace()和eregi_replace()
split()和spliti()
ereg()和eregi()ereg()字符串匹配函数,eregi()是ereg()函数的忽略大小的版本
语法格式:if (!ereg('^[^./][^/]*$', $userfile))//不匹配格式输出die
{
die('这是一个非法的文件名!');
}
ereg_replace()和eregi_replace(忽略大小写)替换
string eregi_replace (“正则表达式”,“目标替换字符”,“替换目标”)
语法格式:$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);\\1 为继承第一个整体
echo ereg_replace("(( )is)", "\\2was", $string);\\2继承第二个整体
split()和spliti(忽略大小写)用正则表达式将字符串分割到数组中
list:给数组中的值赋予一些变量
语法格式:$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);//列出三个变数对应格式//以什么形式拆分 拆分谁
echo "Month: $month; Day: $day; Year: $year<br />\n";
输出结果Month: 04; Day: 30; Year: 1973
[2]PHP学习 mysql第1/2页
来源: 互联网 发布时间: 2013-11-30
数据类型种类
整形:可以有十进制和十六进制表示
符点形:浮点数由一个数字加一个小数点再加上一个数字组成。两个数字序列不能同时为空。
字符串:由单引号或者双引号括起来的字符或者数字,字符串中要用转义字符才能表示的特殊符号。
日期和时间的值:列如 2005-05-30 12:30:25 日期是按年-月-日
NUUL值:是一种无类型的值,表示“空,什么也没有”。
________________________________________________________________________________
mysql -h主机名 -u用户名 -p密码 //mysql登陆运行命令
DML数据操作语言
select 查询 select 字段名,字段名, ... (*) from 表名 where 子句
查询 select 字段名,字段名, ... (*) from 表名 where 子句 单价》500 的 limit 3 前3条
select *from kehu,yewuyuan where ye_id=ke_id;查询所属业务员客户的ID
insert 插入 insert into badwolf (bad_id,bad_name) values(3,'badbird'); 插入
update 修改 update badwolf(表名) set bad_name(列名)='badwolf';
updata badwolf(表名) set bad_name列名='alex'值 where bad_name='badbird';
delete 删除 delete from badwolf(表明) where bad_id=2;
DCL数据控制语言
grant 控制存取许可
revoke 存取权限
ddl数据定义语言
create table 创建数据表 create table 库名;
drop table 数据库对象
alter table 定义其列
mysql输入一个语句结尾时,末尾要有;号。->意为本语句没有输完 等待继续输入。\c用来取消输入。
/////////////////////////////////////////////////////////////////////////
数值类型
TINYTIN 非常小的整数 BIGINT 大整数
SMALLINT 较小的整数 FLOAT 单精度浮点数
MEDIUMINT 中等大小的整数 DOUBLE 双精度浮点数
INT 标准整数 DECIMAL 一个串的浮点数
CHAR 定长字符串 VARCHAR可变长字符串
TINYBLOB 非常小的BLOB BLOB 小BLOB
MEDIUMBLOB 中等BOLB LONGBLOB 大BLOB
TINYTEXT 非常小的文本串 TEXT 小文本串
MEDIUMTEXT 中等文本 LONGTEXT 大文本串
ENUM 枚举:列可赋予某个枚举成员
SET 集合:列可赋予多个集合成员
auto_increment 自动标识列
对于想使用此属性的列应该定义为NOT NULL,并定义为PRIMARY KEY 或者定义为UNIQUE键。
unsigned无符号,此属性禁用负值,是将数值的取值范围从零开始,即前移了取值范围而已.
///////////////////////////////////////////////////////////////////////////////////
创建数据库
create database 库名; 创建一个指定名称的数据库
例如:create database book; 创建了一个名为book的数据库
show database 列出服务器中可用的的数据库
show table 显示数据库的清单
use 库名 选择使用数据库 例如:use book;
not null 非空 primary key 主键 auto_increment 自增
常见的完整性约束
primary key 主码约束(主键) 主码就是主关键字,能唯一标示字段属性
unique 唯一约束 在一个字段或者一组字段里数据与表中其它行的数据相比是唯一的
not null 非空值约束
auto_increment 整数列自增1
default_value 默认值约束
显示结构操作
database 表名
desc 表名
删除数据库或表操作
drop table 表名 删除表 drop table if exists badbird;加if exists 删除不存在表名不会出错
drop database 库名 删除库 同上加if exists不会出错
////////////////////////////////////////////////////////////
更改表结构操作
语法:alter table 表名 action;
说明:action 可以是如下语句:
add 列名 <建表语句> [first | after 列名]
add primary key (列名)为表添加一个主键,如果主键已经存在,则出现错误
alter 列名 set default 默认值 可以更改指定列默认值
----------------------------------------------------------
later table 表名 add 插如列的名 varchar(属性) first(之前)|after(之后) 增加列名
change 旧列名 新列名 <建表语句> [first | after 列名]
可以更改列类型和列名称,如果原列的名字和新列的名字相同,则change和modify的作用相同
-----------------------------------------------------------
modify 列名 <建表语句> [first | after 列名]
更改列属性:alter table badbird(表名) badtitle(列) modif varchar(属性);
更改列名:alter table badbird(表名) change badtitle(列) bad_sad(改的名) varchar(属性) not null(no 空);
drop 列名 //可以删除一列
drop primary key //可以删除主键
drop index index_name; //可以删除索引
删除列:alter table badbird(表名) drop badtitle;
rename as 新表名 //可以将表名更改
更改表名:alter table badbird(表名) rename badwolf(表名);
插入记录操作
语法:
insert into 表名(字段名,字段名, ... ) values(字段值,字段值,...);
例如:insert into badwolf (bad_id,bad_name) values(3,'badbird'); 插入
如果表名后面没写字段名,则默认是向所有的字段添加值,另外字符串值应该用‘ '或“ ”引号括起来
多条添加:insert into badwolf values(1,'badbird'),(2,'badbird'),(4,'badbird');
更改记录操作
语法:
update 表名 set 列名=数据值 where 子句;
例如:update badwolf(表名) set bad_name(列名)='badwolf';
------------------------------------------------------------------
where 子句是判断语句,用来设定条件,限制只更新匹配的行,如果不带where子句,则更新所有行数据
删除记录操作 语法: delete from 表名 where子句;
例如:delete from badwolf(表明) where bad_id=2; 判断删除所有id=2的值 判断条件可以附加
[3]php学习 面向对象 课件第1/2页
来源: 互联网 发布时间: 2013-11-30
对象的主要三个特性
对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。
对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。
对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同。
面向对象模型
面向对象的概念:
oop(面向对象的编程)它能是其代码更加简洁易于维护并且具有更强的可重性
什么是类:
类是具有相同属性和服务的一组对象的集合比如说人,书,轮船,车都属于类,他为属于该类的对象做了一个统一的抽象描述,在编程的语言中类是一个单独的程序,它应该有一个类名包括属性的说明和服务两个部分。
什么是对象:
对象是系统中描述客观事件的一个实体,他是构成系统的一个基本单位。*数据与代码都被捆绑在一个实体当中*,一个对象由一组属性和对这组属性进行操作的一组行为组成。
从抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象。他反映该事物在系统中保存的信息和发挥的作用:它是一组属性和有权对这些属性进行操作的一个封装体。客观世界是由对象和对象之间的联系组成的。
类和对象的关系:
类与对象的关系就如模具和铸件的关系,类的实力化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。
类与属性和方法
PHP中定义类语法格式:
class classname [可选属性]{
public $property [=value];... //用public声明一个公共标识 然后给予一个变量 变量也可以赋值
function functionname ( args ){ //类的方法里的成员函数
代码} ...
//类的方法(成员函数)
}
生成对象(类的实例化): $对象名=new classname( );
使用对象的属性
在一个类中,可以访问一个特殊指针$this当在该类中通过一个操作设置或访问该变量时,使用$this->name来引用.
对象的生成
定义好类后用一个new来声明,由于对象资料的封装特性,对象是无法由主程序区块直接访问的须通过对象来调用类中所定义的属性和行为函数,间接地达成存取控制类中资料的目的。
对象和类的关系
对象和类的关系:
对象是实际存在的,占有动态资源。
类是对象的蓝图,可能占有静态资源。
对象属性占有动态资源
类(静态)属性实际上是有类名字空间上的“全局变量”
性能考虑:
每个对象要单独占用数据空间
增加的调用层次可能消耗执行时间
方法的参数形式和传递方式
方法的参数可以是基本数据类型、数组和类对象。
基本数据类型:值参传递
数组:值参传递
类对象:引用传递
构造函数
构造函数是在类中起到初始化的作用
构造函数的生成方法与其他函数一样只是其名称必须是__construct().
语法格式:function __construct(参数){
。。。。。。。。
}
范例:
class Person{
public $name;
public $sex;
public $age;
function __construct($name,$sex,$age){
echo "我是构造函数<br>";
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
输出结果:初始化
析构函数
当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。应在退出前在析构函数中用释放内存。
析构函数__destruct 析构函数没有任何参数
范例:class person{
function _ _destruct( )
{ echo "bye bye !“; }
}
$a=new person();
访问类型
public 公共的(公共修饰符) 类内部与类外部都可以访问的
private 私有的(私有修饰符) 只能在类内部访问
protected 受保护的(保护成员修饰符) 子类可以访问 类外部不可以访问
oop的三个重要特性
封装,继承,多态
封装性:封装性就是把对象的属性和行为结合成一个独立的单位。
封装一个类需要两步 第一步是私有化一个类 第二步是用set和get 做出读取赋值的操作
他的好处是:隐藏类的实现细节,可以方便加入逻辑控制性,限制对属性的不合理操作,便于修改增强代码的可维护性。
__get与__set
一般说把类私有话更符合现实的逻辑。
预定义两种函数来进行获取与敷值操作。
__get 获取值通常是域的值
__set 设置值通常是域的值
__call 调用一个对象中不存在的方法时,就会产生错误call()这个方法来处理这种情况。
对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。
对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。
对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同。
面向对象模型
面向对象的概念:
oop(面向对象的编程)它能是其代码更加简洁易于维护并且具有更强的可重性
什么是类:
类是具有相同属性和服务的一组对象的集合比如说人,书,轮船,车都属于类,他为属于该类的对象做了一个统一的抽象描述,在编程的语言中类是一个单独的程序,它应该有一个类名包括属性的说明和服务两个部分。
什么是对象:
对象是系统中描述客观事件的一个实体,他是构成系统的一个基本单位。*数据与代码都被捆绑在一个实体当中*,一个对象由一组属性和对这组属性进行操作的一组行为组成。
从抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象。他反映该事物在系统中保存的信息和发挥的作用:它是一组属性和有权对这些属性进行操作的一个封装体。客观世界是由对象和对象之间的联系组成的。
类和对象的关系:
类与对象的关系就如模具和铸件的关系,类的实力化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。
类与属性和方法
PHP中定义类语法格式:
class classname [可选属性]{
public $property [=value];... //用public声明一个公共标识 然后给予一个变量 变量也可以赋值
function functionname ( args ){ //类的方法里的成员函数
代码} ...
//类的方法(成员函数)
}
生成对象(类的实例化): $对象名=new classname( );
使用对象的属性
在一个类中,可以访问一个特殊指针$this当在该类中通过一个操作设置或访问该变量时,使用$this->name来引用.
对象的生成
定义好类后用一个new来声明,由于对象资料的封装特性,对象是无法由主程序区块直接访问的须通过对象来调用类中所定义的属性和行为函数,间接地达成存取控制类中资料的目的。
对象和类的关系
对象和类的关系:
对象是实际存在的,占有动态资源。
类是对象的蓝图,可能占有静态资源。
对象属性占有动态资源
类(静态)属性实际上是有类名字空间上的“全局变量”
性能考虑:
每个对象要单独占用数据空间
增加的调用层次可能消耗执行时间
方法的参数形式和传递方式
方法的参数可以是基本数据类型、数组和类对象。
基本数据类型:值参传递
数组:值参传递
类对象:引用传递
构造函数
构造函数是在类中起到初始化的作用
构造函数的生成方法与其他函数一样只是其名称必须是__construct().
语法格式:function __construct(参数){
。。。。。。。。
}
范例:
class Person{
public $name;
public $sex;
public $age;
function __construct($name,$sex,$age){
echo "我是构造函数<br>";
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
输出结果:初始化
析构函数
当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。应在退出前在析构函数中用释放内存。
析构函数__destruct 析构函数没有任何参数
范例:class person{
function _ _destruct( )
{ echo "bye bye !“; }
}
$a=new person();
访问类型
public 公共的(公共修饰符) 类内部与类外部都可以访问的
private 私有的(私有修饰符) 只能在类内部访问
protected 受保护的(保护成员修饰符) 子类可以访问 类外部不可以访问
oop的三个重要特性
封装,继承,多态
封装性:封装性就是把对象的属性和行为结合成一个独立的单位。
封装一个类需要两步 第一步是私有化一个类 第二步是用set和get 做出读取赋值的操作
他的好处是:隐藏类的实现细节,可以方便加入逻辑控制性,限制对属性的不合理操作,便于修改增强代码的可维护性。
__get与__set
一般说把类私有话更符合现实的逻辑。
预定义两种函数来进行获取与敷值操作。
__get 获取值通常是域的值
__set 设置值通常是域的值
__call 调用一个对象中不存在的方法时,就会产生错误call()这个方法来处理这种情况。
最新技术文章: