论两天怎么学PHP(期末复习PHP知识点)

一、php入门

PHP预处理器(PHP Preprocessor)的功能是将PHP程序中PHP代码解释为文本信息,这些文本信息中可以包含HTML代码。
HTTP请求方法:get、post、head、options、put、delete、trace,请求方式为动态、静态
安装有数据库管理系统软件的计算机称为数据库服务器

二、php基础
四种开始和结束标记
<?php ?>

<? ?>
<% %>

三种注释风格
/*多行*/ //单行  #单行

php程序分为三个部分:数据的采集、数据的处理、数据的输出
数据采集分为:浏览器端的数据采集、浏览器端数据的提交、php程序的数据采集

php不允许直接访问一个未经初始化的变量

数据类型:
标量类型(布尔、整型、浮点、字符串)
复合类型(数组、对象)
特殊类型(资源数据类型,空数据类型)
为类型

输出:
   echo与print输出的是没有经过格式化的字符串,而printf()函数则是输出经过格式化的字符串。

对于复合数据类型的数据(如数组或对象),可选用print_r()函数输出。

三、php表达式
自定义常量:define(name,value,case_insensitive) true:大小不敏感 false:大小写敏感
预定义常量
传值赋值=#、传址赋值=&$(避免产生副本)

查看数据类型
gettype()函数,返回String(integer、double、string、array、object、unknown type)
var_dump(),得到变量或常量的数据类型以及对应的值,并将这些信息输出

检查常量或变量是否定义函数
defined(String: name)\ isset($)
取消常量:unset

检查变量是否为“空” 
is_null()函数 
下面的三种情况变量的值为NULL。
(1)变量未经定义;
(2)变量的值赋值为NULL;
(3)变量经unset()函数处理后
empty()函数 若变量var的值为空字符串""、整数0、字符串零"0"、浮点数0.0、NULL、变量未被定义、FALSE或空数组array(),都将视为“空”

比较运算符
$a == $b(注意是两个等号) 如果$a与$b的值相等,结果为TRUE;否则为FALSE
$a === $b(注意是三个等号) 如果$a与$b的值相等,且它们的类型也相同,结果为TRUE;否则为FALSE。
逻辑异或 $a xor $b 如果$a与$b的值中只有一个值为TRUE,结果为TRUE;否则为FALSE

错误抑制符@

类型转换
类型自动转换基本规则如下:
1.布尔型数据参与算术运算时,TRUE被转换为整数1,FALSE被转换为整数0;NULL参与算术运算时,被转换为整数0。
2.浮点数与整数进行算术运算时,将整数转换为浮点数后,再进行算术运算。、
字符串不是以数字开头,将被转换整数0
字符串连接时布尔型TRUE将被转换成字符串"1",布尔型FALSE和NULL将被转换成空字符串""。
类型转换函数:intval()、floatval()、strval()

四、文件处理
1、打开/关闭文件
2、读写文件
3、操作文件

fopen()函数打开文件
resource fopen ( string filename, string mode [, bool use_include_path]);
mode:(不存在时新建) r r+(读/读写) w w+(写/读写(不存在时新建)) x x+(写/读写,谨慎写文件存在时无法打开) a a+ b t 
fclose关闭文件
bool fclose ( resource handle ) ;

读取整个文件:readfile()、file()和file_get_contents()
int readfile(string filename) 不需要打开/关闭文件,不需要echo/print等输出语句,直接写出文件路径即可
array file(string filename) 
string file_get_contents(string filename[,int offset[,int maxlen]])
fgets()函数用于一次读取一行数据。函数语法 string fgets( int handle [, int length] )
fgetss()函数会过滤掉被读取内容中的html和php标记。函数语法 string fgetss ( resource handle [, int length [, string 

allowable_tags]] ) 该函数能够从读取的文件中过滤掉任何html和php标记。可以使用allowable_tags参数来控制哪些标记不被过滤掉
读取一个字符:fgetc()
读取任意长度的字串:fread() string fread ( int handle, int length )

fwrite()(fwrite()函数也称为fputs())和file_put_contents()函数向文件中写入数据
int fwrite ( resource handle, string string [, int length] )
int file_put_contents ( string filename, string data [, int flags])

ftp、http格式,配置php.ini:allow_url_fopen = On
复制、重命名、查看修改日期
bool copy( string path1, string path2)
bool rename(string filename1,string filename2)
bool unlink( string filename )
int fileatime( string filename )返回文件最后一次被访问的时间 date('Y-m-d H:i:s', filemtime('1.txt'))
int filesize( string filename )取得文件filename的大小(bytes)
array pathinfo(string name [, int options])返回一个数组,包含文件name的路径信息。有dirname、basename和extension。

文件高级操作
is_executable 判断一个文件是否是可执行文件   返回BOOL类型
is_readable 判断文件是否可读  返回BOOL型
is_writeable 判断文件是否可写 返回bool型
file_exists($filename)
is_dir($filename)
is_file($filename)  

bool rewind ( resource handle )将文件handle的指针设为文件流的开头
fseek()函数实现文件指针的定位,int fseek ( resource handle, int offset [, int whence] )
    offset为指针位置或相对whence参数的偏移量,可以是负值。whence的值包括以下3种:
    SEEK_SET,位置等于offset字节。
    SEEK_CUR,位置等于当前位置加上offset字节。 
    SEEK_END,位置等于文件尾加上offset字节。
    如果忽略whence参数,系统默认为SEEK_SET。

feof(resource handle )函数判断文件指针是否在文件尾
ftell(resource handle )函数返回当前指针的位置

bool flock ( int handle, int operation)
    参数handle为一个已经打开的文件指针,operation的参数如下
    LOCK_SH取得共享锁定(读取程序)
    LOCK_EX取得独占锁定(写入程序)
    LOCK_UN释放锁定
    LOCK_NB防止flock()在锁定时堵塞

$_FILES变量存储的是上传文件的相关信息,这些信息对于上传功能有很大的作用。该变量是一个二维数组。保存的信息 如下:
$_FILES[filename][name]存储了上传文件的文件名。如exam.txt、myDream.jpg等
$_FILES[filename][size]存储了文件大小。单位为字节$_FILES[filename][tmp_name]文件上传时,首先在临时目录中被保存成一个临时文件。该变量为临时文件名$_FILES[filename][type]上传文件的类型$_FILES[filename][error]存储了上传文件的结果。如果返回0,说明文件上传成功

move_uploaded_file()函数将上传文件存储到指定的位置
bool move_uploaded_file ( string filename, string destination )
$_FILES['myPicture']['error']的取值及对应的意义为:
    0:没有错误发生,文件上传成功。
    1:上传的文件超过了 php.ini 中upload_max_filesize选项限制的值。
    2:上传文件的大小超过了FORM表单中MAX_FILE_SIZE参数指定的值。
    3:文件只有部分被上传。
    4:表单没有选择上传文件。

is_uploaded_file()函数用于判断文件名为fileName的文件是否为上传过程中产生的临时文件
混合方式提交数据:
$_REQUEST = array_merge ( $_GET , $_POST )。需要注意的是:使用GET和POST混合方式提交数据时,若一个参数名既存在于GET请求中又存在于POST请求中,使用$_REQUEST采集该参数名对应的参数值时,将造成数据的丢失

五、数组
创建
直接将变量声明为数组元素
使用array()语言结构创建数组
创建时的注意事项:
如果数组元素中的“键”是一个字符串,且该字符串完全符合整数格式时,数组元素的“键”将被强制转换为整数(例如 “9” 将被强制转换为整数9

1. 快速创建数组的函数
array range(mixed start, mixed end),从start到end范围的数字数组或字符数组
array explode(string separator, string str);
array array_combine ( array keys, array values )
array array_fill ( int start_key, int length, mixed value )并为该数组添加length个数组元素,数组元素的“键”从start_key处开始递增,每个数组元素的值为value
array array_pad ( array arr, int pad_size, mixed pad_value )array_pad()函数返回数组arr的一个拷贝,并用pad_value 将其填补到 pad_size 指定的长度。如果 pad_size 为正,则数组被填补到右侧,如果为负则从左侧开始填补。如果 pad_size 的绝对值小于或等于 input 数组的长度则没有任何填补。
2. 数组统计函数
int count (array arr[, int mode] ) 统计并计算数组arr中元素的个数
mixed max ( array arr [, array ...] )
mixed min ( array arr [, array ...] )
number array_sum ( array arr)
number array_product ( array arr)统计并计算数组arr中所有元素值的乘积
array array_count_values ( array arr )统计并计算数组arr中所有元素的值出现的次数
3. 数组指针函数
//以下两个函数不移动当前指针,也不改变数组arr的内部结构
mixed key ( array &arr)返回数组arr中“当前指针”所指元素的“键”名
mixed current ( array &arr)别名pos,返回数组arr中“当前指针”所指元素的“值”。
mixed next ( array &arr )移向下一个,并返回移动后的值
mixed end ( array &arr )指向数组arr最后一个元素
mixed prev ( array &arr )指向数组arr上一个元素
mixed reset ( array &arr )指向数组arr的第一个元素
array each (array &arr)以数组形式返回“当前指针”(current)所指的元素(包括“键”和“值”),然后移动数组arr“当前指针”(current),使“当前指针”指向数组arr下一个元素
4. 数组和变量间的转换函数
void list ( mixed varname1[, mixed varname2[,mixed ...]]) = array arr;一步操作给一组变量进行赋值
int extract ( array arr )extract()函数使用数组arr定义一组变量,其中变量名为数组arr元素的键名,变量值为数组arr元素“键”对应的值。
array compact ( mixed varname1[, mixed varname2[,mixed ...]] )与extract功能相反,compact()函数返回一个数组,数组每个元素的“键”名为变量名varname1(varname2...),每个数组元素的“值”为变量varname1(varname2...)的值
5. 数组遍历语言结构
foreach(array as $value);
foreach(array as $key=>$value);
6. 数组检索函数
array  array_keys ( array arr [, mixed searchValue ] )array_keys() 函数以数组的形式返回arr数组中的“键名”。 如果指定了可选参数searchValue,则只返回searchValue值的键名,searchValue为字符串的时候大小写敏感
array  array_values ( array arr )
bool in_array ( mixed searchValue, array arr [, bool strict] )检查数组arr中是否存在值searchValue
bool array_key_exists ( mixed keyName, array arr)   
mixed array_search ( mixed searchValue, array arr [, bool strict] )    
array array_unique ( array array )array_unique()函数返回一个移除数组arr中重复的元素“值”的新数组
7. 数组排序函数
sort()函数 sort()函数为排序后的数组arr赋予新的“整数”键名
asort()函数 按元素“值”的升序(先是数字、然后是标点符号、最后是字母)对数组arr进行排序
//经asort()函数排序后,保持数组元素原有的“键值对”对应关系
rsort()函数和arsort()函数//降序
bool ksort ( array & arr)对数组arr按照键名升序排序
natsort()函数/natcasesort()函数 “自然排序”算法对数组arr元素“值”进行升序排序
bool shuffle ( array &arr ),shuffle()函数为数组arr随机排序,shuffle ()函数将为随机排序后的数组arr赋予新的键名    
array array_reverse ( array arr [, bool preserve_keys] )
8. 数组与数据结构
int array_push ( array &arr, mixed var1 [, mixed var2 [, mixed …]] )
mixed array_pop ( array &arr )
int array_unshift ( array &arr, mixed var1 [, mixed var2 [, mixed …]] )函数返回入队元素的个数。说明:这个特殊的队列限定在对首插入元素,在队首删除元素
mixed array_shift ( array &arr )函数删除数组arr第一个元素,使用array_shift()函数后会把数组arr的“当前指针”复位(自动调用reset()函数)
9. 数组集合运算函数
array array_merge ( array arr1 [, array arr2 [, array ...]] )
array array_diff ( array arr1 [, array arr2 [, array ...]] )返回一个新数组,新数组中的元素“值”是所有在 arr1 中,但不在任何其它参数数组中的元素“值”(集合的差集运算)。
array array_intersect ( array arr1 [, array arr2 [, array ...]] )返回一个新数组,新数组中的元素“值”是即在 arr1数组中,又在arr2等数组中出现的元素“值”(集合的交集运算)  
array array_diff_assoc ( array arr1 [, array arr2 [, array ...]] )(集合的差集运算)。注意数组元素的键名也用于比较
array array_intersect_assoc ( array arr1 [, array arr2 [, array ...]] )
array array_diff_key ( array arr1 [, array arr2 [, array ...]] )函数返回一个新数组,新数组中的元素“键”是所有在 arr1 中,但不在任何其它参数数组中的元素“键”(集合的差集运算)。
array array_intersect_key ( array arr1 [, array arr2 [, array ...]] )

六、自定义函数
PHP文件之间的引用
mixed include(string resource)
require与include语言结构的比较
require语言结构的语法格式及功能与include相同,只不过两者之间存在着细微的区别。在错误处理方面:使用include语言结构,如果被引用文件发生错误或不能找到被引用文件,引用文件将提示Warning信息然后继续执行下面的语句。使用require语言结构,如果被引用文件发生错误或不能找到被引用文件,引用文件将提示Warning信息及Fatal error致命错误信息然后终止程序运行。
include_once和require_once

PHP中有三种类型的函数:内置函数、自定义函数和变量函数

return和exit之间的区别:
exit会结束所有PHP程序(包括引用者PHP程序)的运行。
而return只会结束被引用PHP程序的运行,不会结束引用者PHP程序的运行,并且被引用PHP程序中的return语句可以向引用PHP程序返回一个数据。

七、字符串处理
???printf(“输出格式”,字符串)“输出格式”是一个含有%的字符串,其中%引领的就是格式描述,其内容可以包括填充字符、对齐方式符、字符串长度和输出类型说明符中的一项或多项
在utf8编码中,每个汉字的长度为3个字符,在gb2312编码中,每个汉字的长度为2个字符。空格都是1个字符。

substr(string|$string,s_index,length)截取字符串中的一部分“length”要表示截取的长度。如果是正数,表示从s_index处向字符串尾部截取相应的字符数;如果是负数,表示从字符串尾向s_index处舍弃相应的字符数
字符串替换函数有两个:
str_replace()  str_replace("replace_str","by_str","source_str",[counter])
str_ireplace()函数 对英文字母的大小写不敏感
substr_replace() 用于将指定范围内的字符串替换为另外的字符串
substr_replace(source_string,by_string,start_index,[length])

strstr()函数用于搜索某个字符串在源字符串中首次出位的位置n,函数的返回值是源字符串中第n位以后的内容 
如果不需要区分大小写字母,可以使用stristr()函数
strpos()用于查找某个字符串在另一字符串中第一次出现的位置
strpos(source_string,search_string,[start_index])
stripos()不区分大小写

ord()函数用于将字符转为其对应的ASCII码
chr()函数用于将ASCII码转换为对应的字符

strcmp()函数用于完全对比两个字符串的大小关系strcmp(str_1,str_2);大小写strcasecmp()
strncmp()函数用于截取部分字符串进行大小比较strncmp(str_1,str_2,cmp_length),大小写strncasecmp()

explode(c_break,string,[item_num])
implode([connect_c],array)

八、面向对象
protected:保护变量,该类变量可以被本类以及所有的子类自由调用。它不像公共变量那样全部开放,也不像私有变量那样严格隐藏于类内。
在子类中通过parent:: v a r 的 格 式 访 问 在 本 类 中 通 过 var的格式访问 在本类中通过 var访this->$var的格式访问
不能通过本类的对象访问protected变量

static:静态变量,这是一种比较特别的变量。它有两个特点:
访问静态变量不需要初始化所在的类。
类内访问的格式为self::静态变量名。
在子类中访问父类静态变量的格式为 parent::静态变量名。

可以通过“类名::方法名”进行调用,也可以通过“对象名->方法名”调用
静态方法只能调用静态成员变量,不能调用普通变量。

_autoload()方法
<?php
//自动载入所要实例化的类
    function __autoload($class_name){
        //指定类文件路径
        $class_path=$class_name.'.class.php';
        if(file_exists($class_path)){
            include_once($class_path);   }
        else
            echo "指定的类文件不存在";
    }
    //实例化ArtObject类成为对象
    $object1=new ArtObject('声乐基础',25);
?>

(考试快来了,有时间再补充)
九、正则表达式
十、数据库连接

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值