实用php函数及方法总结

时间:2024.4.5

Php常用函数以及方法总结

数据类型:

string;

number;

boolean;

符合数据型:

array;

obj;

resource;

$name=<<<T

T;

echo name 这种方式注意t前后不能有空格。

1、define(‘常量名’,‘常量值’)----常量的申明,不用$,echo ‘常量名’--->常量值。

2、“” ‘’ heredoc结构 $age<<T

18;

T;

以上三种是生命字符串的方法

3、gettype(变量名)--------->获取字符的变量属性,在js中用的是typeof;

4、在运行的过程中特别注意的是,变量用单引号包裹时,单引号里面的变量不能进行解析,可换用双引号;

5、Strlen(变量名)-------->获取变量的字符串长度,遇到汉字(utf8 3字节)(gbk 2字节)。

6、mb_strlen(变量名)-------->获取变量的字符串长度,遇到汉字的时候按照一个字节显示。

7、is_string(变量名)---------->判断变量是不是字符串,结果返回是bool型,(true、false);

8、is_int(变量名)---------->判断变量是不是整数

9、is_flaot(变量名)---------->判断变量是不是小数

10、is_numeric(变量名)---------->判断变量是不是有效数字

11、is_bool、is_boolean(变量名)---------->判断变量是不是布尔形

12、var_dump(变量名)--------->答应内容,包含(变量的数据类型、变量值、长度)一般用于调试代码

13、echo(变量名)------------>将变量装化成字符串输出,遇到变量是true---‘1’,false---‘’空字符;

14、print_r(变量)------------->输出函数,显示下标和对应下标的值;

15、Settype(变量,‘bool’)------->将变量强制转换成bool元素,有六种转化出来bool是false(null 0 0.0 ‘’ ‘字符串’ array()空数组 );转化出来要配合var—dump使用;

16、转化数字形的时候,不是以数字开头的都是0,以数字开头的只转化数字,true---1 false---0;

17、isset(变量)---------->判断函数是否定义。 isset(数组名[下标名])---判断数组中的元素是否被定义;

18、unset(变量)---------->销毁函数 unset(数组名[下标名])---删除数组中的元素。

19、empty(变量)------------->判断函数是否为空,在php中有(。 Null 0 0.0 ‘字符串’ array()空数组 false 没有定义的变量)这八种结果为true,其他的都为false。

20、$arr=array(.......)----------申明一个数组;array(1,2,3,4,5)枚举数组,下标默认是0开始从左至 右,array(‘a’=>’1’,‘b’=>’2’,‘c’=>’3’)关联数组,下标是abc。

21、Var_dump(数组)-------->(类型、长度、字符串值);

22、Print_r(数组)------(下标、了内容)和echo输出变量的效果一样。

23、$arr(‘下标’)=‘值’------->下标存在就是修改对应下标的值,不存在就是增加元素;

24、Count(数组)--------->查看数组的元素个数,(不带输出功能)

25、Foreach($arr数组 as $k=>$v){ //$k表示数组的下标,$v表示数字的值

语句块

}

26、在html标签中嵌套循环;

<?php

foreach($arr as $v){

?>

要循环的html标签,注意要使用函数的话,必须嵌套php中<?=?>等格式;

<?php

}

?>

27、在foreach中想要修改元素,必须是通过下标修改,不能直接修改$v=... 而是$arr[$k]=...

is_array--------->判断变量是不是一个数组,返回布尔型。

isset(数组[下标])--------->判断数组中是否有指定下标。

unset(数组[下标])--------->删除数组中指定下标的元素。

count($arr,1)------------>将递归的对数组计数,计数多维数组的所有元素,层数。

28、逻辑运算&& ||

表达式1 && 表达式2 ----------1真执行2,否则不执行2. 有假为假,同真为真;

表达式1 || 表达式2 ----------1假执行2,否则不执行2. 有真为真,同假为假;

返回布尔型;

29、switch函数

$a=5

switch ($a){

case 5;

echo $a+5;

break;

case 7;

echo $a+10;

break;

}------------------------------------------------> 5

29、is_file(‘文件路径’)--------->判断文件是否存在。

30、touch(‘文件路径’)---------->在指定的路径下创建文件或文件夹。

31、关于数组的函数

list($a,$b,$c)=array(1,2,3);

echo $a.','.$b.','.$c --------------1,2,3

相当于a的值是1,b的值是2,c的值是3.也可以理解成list里面的函数名接收array里面的值; each(数组)--------将元素的下标和值解析成元素,一个枚举一个关联

shuffle — 将数组打乱

32、current(数组)------------->获取数组中当前元素。

33、 到就返回false;

34、prev(数组)--------------将指针移动到上一个元素,并获取当前元素,当前移动到首部再移动到就返 回false;

35、reset(数组)---------------将指针一到第一个元素,并获取当前元素。

36、end(数组)---------------将指针一到第一个元素,并获取当前元素。

37、array_reverse(数组[,true])------------将数组元素倒叙排列,返回的是一个新的数组不会影响原来的数 组,--------如果第二个数为true下标还是自身的下标,和值一起倒叙,不要第二个参数默认为false, 下标还是从左到右一起递增,只是值倒叙。

38、rand(1,10)---------产生一个1-10 的随机数;只能是数字;

39、range(1,10)------产生一个1-10的数组,也可以是a--z;

40、局部变量和全局变量

例:fuction a($b){

$b=10;

}

Echo $b;-----------这是个错误的函数,因为$b在函数内部申明,只能在内部使用,不能在外部调用。

41、global $k;-----------------如果$k是一个全局变量,在函数内部使用这个函数,表示在内部引入全局变 量,由此$k在局部变量之内就可以使用了;要是$k之前没有在外部申明,那么就表示创建了一个全 局变量。

42、再说全局变量怎样在函数内部调用

例:$k=10;

Functiopn par($m){

global $k;

Return $m+$k

}

Echo par(3)-------------------13//函数在内部用global引入,由此内部可以使用。

43、func_get_args( )----------获取所有的实参,返回一个数组。

44、func_get_arg(下标)----------获取某个指定参数。

45、func_num_args( )--------------获取所有实参个数。

46、$$--------------可变变量。

例:$m=‘n’;

$n=’10’;

echo $$m-------10;// 分析$$m中$m=n---------->$n--------->10;

47、extract------------将数组中的下标转化成全局变量,其值就是对应的元素值。第二个参数不给时会直接覆盖已有的变量,第二个参数为 EXTR_SKTP时不会覆盖;

例:$arr=array(‘a’=>’1’,’b’=>’2’);

Extract($arr,EXTR_SKTP);

echo $a. $b-------------1.2;//

array_search ------------------将数组中的元素小标拿出来,array_search(元素,$arr)----返回元素的下标值。

48、__FUNCTION__ ---------------在函数内部使用,获取当前函数名;

49、__DIR__------------------------获取当前目录文件夹,返回盘符路径;

50、__FILE__---------------------------获取当前文件的盘符路径;

51、basename(__FILE__)------------获取当前文件名字;

52、basename(__DIR__)------------获取当前文件夹名字;

53、dirname(__FILE__)----------获取当前文件的上级路径,返回盘符路径

54、dirname(__DIR__)----------获取当前文件夹的上级路径,返回盘符路径

55、Function_exists(‘函数名’)---------测试函数名是否存在,主要用于测试系统环境有没有开启扩展。

56、range(start, end, 步长值)-------建立一个包含指定范围的数组,可以用于数字也可以用于字母;没有 给步长值,默认为1;返回一个数组;

例:print_r (range('a', 'z', 2));

print_r (range('1', '20', 2));

57、chr(ascii编码)------------返回指定的字符;

58、Ord(‘字符’)-----------返回的是ascii编码值;

59、explode------------将字符串分割成数组。

例:$str=__FILE__;

$arr=explode(‘\\’,str); //explode(‘分割符’,’字符串’);

Print_r($arr);

60、join--------------将数字连接成字符串;

例子:

Echo join(‘@’,$arr); //join(链接符,数组);

数据库

配置mysql在windows下的变量,将mysql的bin目录放在windows下的管理、环境变量path中;

1、mysql –uroot -p------------输入数据库密码进入数据库服务器;

2、show databases;----------查看服务器里面的数据库。

3、use ‘数据库’;----------选择数据库;

4、show tables;----------------展示表单目录;

5、select * from 表单;------------查看表单内容。

6、create database 数据库名;---------添加数据库;

7、create table 表名;-------------------创建表单;

8、show create table 表单名;-------------------查看创建的表单数据;

9、drop tables 表名;-------------------------------删除表单;

10、drop database 数据库名字;--------------------------删除数据库;

11、desc 表单名;----------------------------------查看表单中的字段结构;

12、insert into 表单名字 value(字段)-------------------向表单中插入数据;

13,update 表单名 set 项目名=‘值’ where id=。。。或者id between 1 and 2 ;-----------修改表单数据

14、delete from 表名 where id=。。。。。。;------------------删除表单数据。

15、and or not 逻辑运算使用,优先级not > and > or

16、between n1 and n2------------------表示在n1 和n2 之间,包含n1 n2; 也可以是not between...

17、not in (n1,n2 ,n3)---------------表示不包括n1 n2 n3在内的元素;

18、like _ 或 %-----------------------模糊匹配,— 代表任意一个字符,%代表任意多个字符;

19、md5(密码,)----------------------------给密码加密,默认32进制;

20、order by 字段名 asc升序 或者 order by 字段名 desc降序;--------给查询的结果排列;

21、group by 字段名 ---------------------------将值相同的分在一组,

22、count(1)---------------------计数

23、max(字段名)------------------求某列最大值,

24、min(字段名)------------------求某列最小值,

25、sum(字段名)------------------求某列之和,

26、avg(字段名)------------------求某列平均值,

27、having 条件----------------------------------一定是给在group之后的;

28、limit 开始行(start) 查询多少行(len) -------------------当stat值为0 的时候可以不写, Limit 3,5;------表示显示下标为3开始到5结束的列。

29、一个sql语句中按顺序执行的是,where----groupby----orderby----limit

30、alter table 表名 add字段名 字符按类型 (after 字段名-----表示加载那个字段后面) 添加一个字段;

31、alter table 表名 drop 字段名-------------删除字段;

32、rename table 原表名 头 新表名--------------------修改表名;

33、mysqladmin -uroot –p password 新密码----?输入以前的旧密码,----?在输入新密码;-----修改密码;

34、set names 编码 --------------------------------设置客户端编码与当前文档编码一致。

用php操作数据库

1、 步骤

1》、链接数据库服务器

2》、链接数据库

3》设置客户端编码

Set names 编码 --------------------------------设置客户端编码与当前文档编码一致。 4》c-u-r-d操作语句

5》、关闭链接

2、 开启扩展 php。Ini中的php-mysql.dll

检查扩展是否开启:

If(!function_exists(‘mysql_connect’)){

Exit(‘请加载mysql.dll扩展’);

}

3、 mysql_content(‘主机名’,’用户名’,’密码’);------------链接数据库服务器,成功返回链接资源,不成功返

回false;

$link=@mysql_content(主机,用户,密码) or exit(‘链接数据库服务器失败’)

注意:@+代码。表示影厂当前行的非致命错误

4、 mysql_select_db(‘数据库’,$link(资源))

or die[exit](‘悬着的数据库不存在’)----------------------以上是选着数据库的操作。成功返回true错误返回false,die与exit的功能一样。

5、 mysql_query(‘set name utf8’)-------------------设置客户端编码;

6、 mysql_query(‘sql语句’)---------------向数据库发送执行sql语句的命令,返回结果是资源型或者逻辑型;

这一步是关键的一部,是命令传向数据库的一步骤。

7、 总结:

1》 结果集资源:select desc show---------这些结构的语句返回结果集资源

2》 True:insert update delete drop set name use 这些语句返回true

3》 False:当返回false时说明sql语句有误;

8、 mysql_fetch_assoc(结果集资源)-----返回关联数组,查询字段作为下标,字段值为元素值,当道最后

当最后一条信息之后就返回false,该函数主要就是将结果集资源中的元素内容提取出来。

9、 mysql_fetch_row(结果集资源)-----返回的是枚举数组,下标位数字,字段值为元素值,最后一条之后

返回false。该函数主要就是将结果集资源中的元素内容提取出来。

10、 mysql_fetch_array(结果集资源)------------------返回混合数组,读到最后返回false;

11、 Mysql_free_result($result)------------释放结果集资源;

12、mysql_close($link)--------------关闭数据服务资源;

13、header(‘Content-Type:text/html; charset=utf-8’);-----------------设置文档编码

14、header(‘location:路径’);-------------------转向到指定的界面,路径可以是盘符路径,也可以是相对路径;

in_array(元素值,数组)---------判断该值是否是数组元素,是就返回true,不是就返回false;

15、mysql_num_rows(结果集资源)-------------------------取得结果集资源中行数目;

16、mysql_free_result(结果集资源)-------------------------释放结果集资源;

17、require ‘文件路径’ 或 require(‘文件路径’)支持盘符路径-------应用外部文件

18、include 同上;

19、ini-get(include-path)------------------------获取include—path目录值;

20、ini-set(‘includ-path’,新目录)-----------------设置include-path值;

21、cyrrent-date()---------------------------------------------获取当前日期;

22、now()--------------------------------------------获取当前日期+时间;

23、rtrim($str,[,字符])------------------------------删除字符末端的空白(或指定字符)

24、ltrim($str,[,字符])------------------------------删除字符首部的空白(或者指定字符)

25、trim($str,[,字符])------------------------------删除字符两端的空白(或者指定字符)

地址get传递的几种方式:

href='1.php?a=100';

header('location:1.php?a=100');

js中--location.href='1.php?a=100';

form表单中---action='1.php?a=100';

method='get';

地址post传递的种方式只有那个一种:表单中method='post';

验证码的制作

-----不能有html标签和echo的出现

操作流程:

1、创建一个画布;

2、在画布上写随机内容;

3、为了能验证用户输入的验证码是否正确,随机放入;

4、将画布输出到浏览器;

5、调用验证码

检查扩展是否开启

<?php

If(!function_exist(‘imagecreatetruecolor’)){

Exit (‘请开启gdr.dll扩展’)

}

?>

下面是生成画布:

$w=300;

$h=200;

$img=imagecreatetruecolor($w,$h); //设置图像资源的规格

$color=imagecolorallocate($img,参数,参数,参数); //设置前景色

imagestring(图片资源,字体大小[1-5],坐标[0,0往下写],内容,颜色);//设置内容的样式这个不常用, 中文容易乱码

imagettftext($img,22(字体大小),0(倾斜角度),0,0(坐标往上写),$color,$font(字体),内容);//这是第二种设置内容样式,这个比较常用,这当中的可以是文字也可以是英文,不会乱码

$font=‘字体路径’;

header(‘content-type:image/jpeg’) //改变当前文档的类型为jpeg,gif,png

imagejpeg($img); //将图片输出到浏览器

mt-rand(1,9) ------------------------- 颜色随机,重复率低;

rand(0,255)------------------------ 颜色随机

rand(数,数) ------------------------- 随机数

mt-rand(数,数) ----------------------- 随机数

Imagecolorallocate(资源,255,255,255) ---------------------- 设置颜色

1、imagesetpixel(资源,坐标(1,2),颜色)---------绘制干扰点;

2、imageline(资源,开始坐标,结束坐标,颜色)--------------绘制干扰线;

3、imagearc(资源,圆,坐标,wh,0,360(圆弧),颜色)-------------------圆的绘制,[椭圆中w!=h]或弧线;

4、imagefill(资源,0,0,颜色)-----------修改背景色;

5、imagedestroy(资源)---------------------释放图片资源;

array_merge()----将多个数组合并

arrar_rand($arr,n)--------随机取数组中的n个数的下标;

shuffle()---------将数组的元素打乱;

6、session_start();-------------------------开启会话,

$_SESSION[下标]=值----------------------里面存的是php中会话数据,

7、strtoupper---------------------------------将字母转换成大写;

strtolower---------------------------------将字母转换成小写;

ulfirst------------------------------------将首字母转换成大写;

ulwords------------------------------------将首字母转换成小写;

8、implod(数字);---------------------------将数组转换成字符串; 例:$array=array('a','b','c');

echo implod($array);-----------------------------》a,b,c

9、str_split(字符串)---------------------------------将字符串转换成数组; 例:str_split(‘abc’)---------------------》array(a,b,c);

10、intval(数字)------------------------取整;

ceil(数字)---------------------------向上取整

floor(数字)-------------------------向下取整;

打水印

步骤:

1、已有的图片,打印的文字和图片;

1、要处理的图片导到脚本中作为图像资源;

2、打水印;

3、要保存到磁盘上;imagejpeg($img,文件保存路径);

步骤开始:

1、导入图片;

imagecreatefromjpeg--------------导入jpeg图片;

imagecreatefromgif----------------带入gif图片;

imagecreatefromjpeg--------------导入png图片;

导入成功返回一个图像资源,失败返回false;

2>、获取图片的高度宽度;

imagesx(资源)--------------------获取宽度;

imagesy(资源)--------------------获取宽度;

3>、打水印

打印字符:imagestring(资源,字体大小,坐标,内容,颜色);//遇到汉字会乱码;

所以使用imagettftext(资源,字体大小,斜,0,0(表示坐标),颜色,字体,内容); $color=imagecolorallocate($img,255,255,255)---------------------------设置颜色;

打印图片:imagecopy()先导入要打印的图片之后,

imagecopy(大图片,小图片,x大,y大,x小,y小,w小,h小);将水印图片放在被处理的图片上。

4>、imagejpeg(资源)-------------------------输入图片;

imagedestroy(资源)------------------清除内存;

select * from 表名字;

select 字段列表 from 表名 where 条件;

insert into 表名 value(字段值);

update 表名 set 字段名=字段值

必须要加上where条件;

delete from 表名 where 条件;

truncate table 表名----删除表中所有记录,主键(id)重新排序。

一个sql语句中顺序 where ,group by,order by ,limit;

**************7day

多表操作;

select 字段名 from 表1,2 where 连接条件;多个条件用and连接;

内连接:

select 字段名 from 表1 join 表n on 连接条件

外连接:

select 字段名 from 表1 left join on 连接条件 (left左边为主表) right join右边为主表 mysql_num_rows-----查看结果资源返回的条数

mysql_free_result(结果集资源)-------------释放资源;

mysql_close(连接资源)------关闭连接数据库服务器;

in_array(元素值,数组)---------判断该值是否是数组元素,是就返回true,不是就返回false;

地址get传递的几种方式:

href='1.php?a=100';

header('location:1.php?a=100');

js中--location.href='1.php?a=100';

form表单中---action='1.php?a=100';

method='get';

地址post传递的种方式只有那个一种:表单中method='post';

1.setcookie('name','val',保存时间,作用域,域名)

向cookie中存数据

作用域表示的是指定在那个作用区域才能用这个数据

2 $_COOKIE['name'];

读取cookie

3.删除cookie('name','val',过期时间,作用域,域名)

因为时间已经过期所有你不访问到什么数据

unset($_COOKIE['user'])----只能删除本页面的东西,但是在其他页面还是可以访问,因为并没有删除浏览

器上的东西,只是删除了本页面的cookie

(1)session_destroy()--清除所有session

(2)unset($_SESSION['下标'])--清除指定session

2.设置:$_SESSION['下标']=值;

3.读:$_SESSION---返回一个数组

4.改变session中数据时间:

session_start()

setcookie(session_name(),session_id(),time()+24*3600)

获取session在cookie中的id和和名字,

strcmp(str1,str2)----------区分大小写比较值是否相等;

strcasecmp()--------------不区分大小写比较值; 如果值相等的话就返回0,不相等就返回1,

**为了安全登录,过滤sql语句中的特殊符号

(1)addslashes()--返回字符串,该字符串为了数据库查询语句等

的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、

反斜线(\)与 NUL(NULL 字符)。

---stripslashes()--去除字符串中的'/' ;

pathinfo(文件路径)---获取文件信息,文件的名字,位置,

pathinfo($x,PATHINFO_EXTENSION )------快速获取文件后缀名;

***********12day***

array_shift()----------删除首部第一个元素,返回被删除的元素,

array_unshift($arr,'a','b')---------在首部增加元素,返回值是数组的元素个数;

array_push($arr,'a')----------在尾部增加,返回数组长度。

array_pop()-------------在尾部删除元素,返回被删除的值只能删除一个;

array_splice()--------可以在数组中删除,添加,替换。

array_splice($arr,0,2)------从数组中第一个元素开始向后删除两个元素,包括自己;

给三个参数是删除,删除删除冲给的元素开始向后删两个,元素包括自己;

给四个参数可以是替换也可以是增加;从枚举元素的开始下标开始替换,向后几个,被替

换的元素包括自己;替换的方式是整体替换;只能是四个参数,最后一个参数可以

来替换;

原数组任然是一个一维数组;

给四个参数可以是替换也可以是增加;从枚举元素的开始下标开始替换,向后几个,(如果

第三个参数为0,表示在起始下标之前添加元素)只能是四个参数,最后一个参数可

组来替换; 原数组任然是一个一维数组;

slice(起始下标,结束下标),提取数组元素返回一个新的数组;

is_array(数组值)---------判断元素是否在数组中,是就返回true,不是就返回false;

array_search(数组值, 数组);----判断元素是否在数组中,是就返回下标,不是就返回false; strrev(字符串)-----的反转字符串;返回一个反转后的字符串;

strpos($str,'元素',参数)--------返回元素第一次出现的位置,区分大小写,查找到参数位置结束; stripos($str,'元素'参数)--------返回元素第一次出现的位置,不区分大小写查找到参数位置结束

strrpos($str,'元素'参数)--------返回元素第最后一次出现的位置,区分大小写,参数给负数,表示从左

到右开始查找到参数位置的最后一次出现的位子;

strripos($str,'元素'参数)--------返回元素第最后一次出现的位置,不区分大小写参数给负数,表示从左

到右开始查找到参数位置的最后一次出现的位位置;

strstr(str,'子字符',true/false)---------------提取字符串,false表示提取子字符串之前的,true子字

符串之前的;

stristr()----------------不区分大小写;

substr($str,a,b)----提取字符串,从a开始,到b结束,不给b表示提取到最后;

str_replace('子字符',替换的字符,$str,$c[表示替换的次数])--------用一个字符来替换子字符;全局 以是数 是数组

替换;

str_replace(array('a','b'),array('$','@'),$str,$c)------替换多个子字符串,就用数组装起来,后面

替换的字符也用数组装起来,替换一一对应,$c表示计数,替换多少次;

str_splite(str,[几个一组])-----分割成数组;

explode(分割符号,原字符串)------用字符分割成数组;

__DIR__-----------获取当前文件所在文件夹的路径

__FILE__----------获取当前文件的路径

dirname()-------获取最后一个斜线之后的内容;

basename()------获取最后一个斜线之前的内容;

is_dir()--------判断文件夹是否存在;

is_file()-------判断文件是否存在;

mkdir(路径)--------创建一个文件夹;

rmdir(路径)--------删除一个文件夹,但是只能删除空的文件夹;

opendir(目录)-------返回一个资源,打开文件夹;

readdir(opendir)-------读取资源,

touch()---------创建一个文件;

unlink()----------删除文件;

trigger_error('报错')-------抛出一个错误;

*********13day*********

(1)

file_get_contents($file)-----读取文件;(本地服务器,远程服务器)的内容返回一个字符串

file_put_contents($file,'文本')-----写文件;如果文件路径不存在,文件自动创建;有加入的内容; 如果想添加文本,不要替换的话就先读取原文件,之后再连接新加入的文本; ($file,$str.'\n'.'新文本') \n表示换行;

将文本文档的换行符号转换成<br/>; nl2br('文本')

将数组的元素写入文档,每个元素要换行显示;

$jo=join("\n",$arr)---------连接字符串;\n表示换行,一定是要双引号来解析;

file_put_contents('2.txt',$jo)

(2)文件的操作;

fopen()

$arr=file('2.txt')--------按照行将文本中的内容装到数组中。

filesize(文件)--------获取问文件大小

fopen($file,'r')--成功返回一个资源

打开方式:

r---只读,

r+--读写

---------文件不存在则报错,写时以替换形式,,写入多少替换多少

a--只写

a+--读写

---------文件不存在则创建,写时以追加形式

w--只写

w+--读写

---文件不存在则创建,写时以覆盖方式,以w,w+打开时会将文件以前的内容删除

读文件内容 fread(资源,几个字节内容),第二个参数用filesize($file)

可以读取文件全部内容,fread(资源,filesize($file))

fgets()--- 一次读取一行,指针向下一点一次,

fgetc()--- 一次读取一个字符,指针向下一点一次

"\n"--做2个字节处理

copy('文件','复制到的文件夹加上文件名字')

rename('文件','移动到的文件夹加上文件名字')

date('Y:m:d H:i:s',时间戳)--------获取可读的时间。

filectime($file)----------获取文件的创建时间

filemtime($file)----------获取文件的修改时间

fileatime($file)-----------获取访问文件的时间;

stringtotime('2015-2-3')------将日期型的字符串转化成时间戳。可以用来比较用;

注意:给的日期字符串格式 年-月-日或者年/月/日

strtotime('3 days')---未来三天

strtotime('-3 days')---三天前

strtotime('next month')--下一个月

file(文件路径)----------将资源按照行放在数组中;

fileclose(资源)----------关闭资源;

scandir(目录)-------读取目录中的子文件和子目录名字,返回一个数组,和下面两个函数效果一样; readdir(资源)--------读取资源中的目录和文件名

opendir(路径)----------打开文件夹,返回一个资源,和readdir连用得到数组。

glob(文件路径.'/*')------------表示匹配文件夹中所有文件的路径;

glob(文件路径.'/*.php')------------表示匹配文件夹中所有php文件的路径;

*********14day

正则

元字符

\s------------空白字符(换行符,空格,制表符)

\S------------非空白

\d------------数字【0-9】

\D------------非数字

\w-------------\w取反

\W-------------数字 字母 下划线

.-----------------除换行符以外的任意字符

任意两个成对的两个元字符组合表示匹配任意字符;

[]---------表示自定义某一类字符中的一个

[\u2E80-\u9FFF]-------匹配任意中文字符;

[^]-------表示不再方括号之间的任意字符;

[abc]---表abc之间的任意字符

[^abc]---表示不在abc之间的任意字符

[1-58]---表1,2,3,4,5,8

模式修正符:

|-----或者

a|b-------a或者b竖线两边看成整体

^-------匹配开始;

$-------匹配结束

?----------表示出现0次或一次;

*-------------出现0次或者多次;

+-------------至少出现一次;

{m}-----------必须出现m次

{m,}----------至少出现m次

{m,n}----------至少m次最多n次;

以上的除了{m}-------其他的都是贪婪;

将贪婪转化成非贪婪,在括号后面加上? {m,n}?匹配成功一次就不在匹配;

字表达式------(),调用字表达式,在正则中从左往右数,一个小括号一个编号,编号冲1开始计数。调'

时用

在正则表达时钟php的边界符号可以自定义,主要成对就可以 ;

$str='/正则/'; '$正则$'

\b表示匹配单词的边界;\bis------表示匹配is开头的单词;

i不区分大小写;

m多行处理;

s让.匹配所有字符

preg_match(正则,被匹配的字符串,匹配结果)----------搜索的时候;用正则匹字符串,将匹配出来的子

表达式装到数组中;

pre_match_all(正则,被匹配的字符串,匹配结果)--------提取的时候使用,

preg_replace(正则,需要替换的字符串,元字符串[,-1 ,$i表示替换了多少次])-----用正则匹配原字符串

,匹配成功的就替换,-1表示全局匹配替换,1表示替换一次,默认是-1;返回替换之后的字符串$i表示替换

次数’;

preg_split(正则,字符串)------------通过正则来分割,返回一个数组;

preg_grep(正则,数组)--------将匹配正则的元素重新组成数组;

preg_filter(正则,替换,数组/字符串)-------与preg_replace()的用法基本相似;唯一不一样的是,

filter返回的是满足正则的替换之后的字符串。而replace返回的数组,新旧元素都在里面。

********15day****

面向对象

类是一个概念,(是对具有相同的属性以及能操作这些属性行为的集合体)在程序中是一种数据类型,自定

义类就是在定义一种新的数据类型,累世用来产生对象的;

对象:一个实实在在地实体,有具体的属性和行为,对象时属性与行为的载体,对象是类的实例,

属性就是类属性,表示对象具有的某些特性,

行为就是方法,表示实体能干什么,或有什么功能;

1.自定义类:

class 类名{

成员属性

成员方法

....

}

public 公有的 作用范围:本类中 外部 子类;

protected 受保护的 范围: 本类中 子类;

private 私有的 范围 本类中;

(一)构造方法

1:function__construct(形参列表){

可以对成员属性赋值

}

--当创建对象时自动调用该方法,主要用于初始话对象

----注意:php5之前构造方法是与类名相同的方法名,现在也可以使用,建议使用__construct

array_key_exists(下标,数组)------判断下标是否在数组中;

define();------定义常量;

defined(常量名)---------检测常量名是否存在;

$obj=new stdClass();--------php内置类。快速生成一个对象;

$obj->name=23;

序列化:

serialize(数组)------------把数组序列化成一个字符串;

unserialize(序列化后的字符串)------------把序列化之后的字符串转化成数组;

json字符串;

json_encode()-----------------数组或者对象转换成json字符串;

json_decode()-----------------json字符串转化成数组。(第二个参数要加上true,转化之后就是一个数

组的形式。)

6.数组排序:

数组排序:

---按元素排序:

sort(数组)--按数组元素值从小到大排序,索引值也会变,如

果元素为

字符串按Linux编码排序。

rsort(数组)--按数组元素值从大到小排序,索引值也会变,如

果元素为

字符串按Linux编码排序。

asort(数组)--按数组元素值从小到大排序,索引值不会变。

arsort(数组)--按数组元素值从大到小排序,索引值不会变。 ---按下标排序:

ksort— 对数组

按照键名排序

krsort — 对数组按照键名逆向排序

----以上函数都直接影响原数

{:U(('模块/控制器/方法名'),array('id'=10))}

数和值,也可以用理由形式 参数名/值

U('地

址') //js中自动转向到控制器方法,后面跟数组表示穿的参 header一样的功能。在控制器方法中u方法的使用就是 ,和

更多相关推荐:
php总结

一个学期的工作已经结束,收获不少,下面我对上学期的工作作一总结,为新学期的工作确立新的目标。在上一学期里,我在思想上严于律己,热爱党的教育事业,全面贯彻党的教育方针,以党员的要求严格要求自己,鞭策自己,力争思想…

php总结

?在echo函数中,可以同时输出多个字符串,而在print函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。?字符串可以由单引号或双引号引出的字段定义。…

php个人工作总结

20xx个人工作总结(苏江)时间一晃而过,转眼间到公司已经1月多了。这是我人生中弥足珍贵的一段经历。在这段时间里同事及领导们在工作上给予了我极大的帮助,在生活上给予了我极大的关心,让我充分感受到了同事及领导们“…

php总结报告

第一章初识PHPbyhero团队1计算思维的本质抽象自动化可以概括为合理抽象高效算法主要过程包括问题抽象模型建立算法设计实现自动化2PHP概念web程序设计语言3PHP优点开源免费跨平台4PHP脚本主要用于a服...

php重要知识点总结(PHP网络开发必背)

PHP网站开发必用知识点总结函数一览开发必背魔术方法construct当实例化一个对象的时候这个对象的这个方法首先被调用destruct当删除一个对象或对象操作终止的时候调用该方法get当试图读取一个并不存在的...

php学习总结

调试插入时考虑清楚字段类型避免插入后出现缺值乱码屏蔽错误ordie条件显示以前学习php类的总结1php中不能重载但是能用子类覆盖父类的方法名称来实现新的重载11在子类中调用父类的覆盖部分可以使用父类名称方法名...

php总结

1php是弱类型语言整形过长时会带来一系列问题2命令行模式要注意加载的php配置文件路径3字符的输出要注意utf8还是gb2312否则会乱码4异步脚本思想封装思想可控制思想可追溯思想5cookie与sessio...

php总结

PHP中判断变量为空的几种方法通过表单传值给变量a1ifa若无数据输入a为空2ifemptya若无数据输入a为空3ifanull若无数据输入a为空4ifisnulla即使无数据输入a仍然不为空5ifanull即...

php模拟post行为代码总结

php模拟post行为代码总结GET行为比较简单POST比较复杂一些这里提供两种方法供选择第一手写代码第二利用HttpClientphp类库第一种方法PHP代码ltPHPflag0要post的数据argvarr...

PHP基础总结(含php常用方法,正则基础,mysql基础以及各种基础教程)

ltphp其他isset变量是否存在booleanempty检查变量是否存在并判断值是否为非空或非0voidunset销毁变量header39ContentTypetexthtmlcharsetutf839me...

php学习总结

GETstring的介绍Isset和empty的介绍数据库数据类型1GETstring的介绍2GETstring他和POST的区别在于当formmethodget的时候用来传值点击下submit后URL转到了接...

php错误总结

1为什么我得不到变量我在一网页向另一网页POST数据name为什么输出name时却得不到任何值在PHP42以后的版本中registerglobal默认为off若想取得从另一页面提交的变量方法一在PHPini中找...

php总结(20篇)