PHP总结性学习笔记.docx_第1页
PHP总结性学习笔记.docx_第2页
PHP总结性学习笔记.docx_第3页
PHP总结性学习笔记.docx_第4页
PHP总结性学习笔记.docx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP手册中总结性学习笔记:1、echo()描述:输出数据到HTML或者到浏览器窗口,其实它不是一个函数,只是一种语言结构,返回值为空void当使用()时只能传递一个参数如echo(he),当不使用()是可以输出多个项目,如echo he,you,I.2、print()输出数据到HTML或者到浏览器窗口,其实它也不是一个函数,只是一种语言结构,返回值为1,不管你使用()与否,只能输出一个项目。3、print_r($bianliang,true)描述:打印有关一个变量的易于理解的信息,如果设置了第二个参数为true则只是获得输出结果,但是不打印相关内容。当输出变量为整型、字符型、浮点型时,按其原样输出,当输出为数组或者对象时会按一定格式输出键值和元值如输出数组时Array( 0 = 1 1 = dfd 2 = Array ( 0 = dk 1 = 45 2 = dfdfdfdf )如输出对象时AdodbData Object( mConn = ADODB_mysql Object ( databaseType = mysql dataProvider = mysql hasInsertID = 1 hasAffectedRows = 1 metaTablesSQL = SHOW TABLES metaColumnsSQL = SHOW COLUMNS FROM %s fmtTimeStamp = Y-m-d H:i:s hasLimit = 1 hasMoveFirst = 1 hasGenID = 1 isoDates = 1 sysDate = CURDATE() sysTimeStamp = NOW() hasTransactions = forceNewConnect = poorAffectedRows = 1 clientFlags = 0 substr = substring nameQuote = compat323 = _genIDSQL = update %s set id=LAST_INSERT_ID(id+1); _genSeqSQL = create table %s (id int not null) _genSeqCountSQL = select count(*) from %s _genSeq2SQL = insert into %s values (%s) _dropSeqSQL = drop table %s database = test host = user = root password = root debug = maxblobsize = 262144 concat_operator = + length = length random = rand() upperCase = upper fmtDate = Y-m-d true = 1 false = 0 replaceQuote = charSet = metaDatabasesSQL = uniqueOrderBy = emptyDate = emptyTimeStamp = lastInsID = hasTop = readOnly = genID = 0 raiseErrorFn = cacheSecs = 3600 memCache = memCacheHost = memCachePort = 11211 memCacheCompress = arrayClass = ADORecordSet_array noNullStrings = numCacheHits = 0 numCacheMisses = 0 pageExecuteCountRows = 1 uniqueSort = leftOuter = rightOuter = ansiOuter = autoRollback = fnExecute = fnCacheExecute = blobEncodeType = rsPrefix = ADORecordSet_ autoCommit = 1 transOff = 0 transCnt = 0 fetchMode = null2null = null _oldRaiseFn = _transOK = _connectionID = Resource id #8 _errorMsg = _errorCode = _queryID = 1 _isPersistentConnection = 1 _bindInputArray = _evalAll = _affected = _logsql = _transmode = databaseName = test ) mGetFields = mGetRows = mStartId = mRRst = mRst = Array ( )注意:当输出数组的时候数组的数组的指针将移动到最后一个元素,可以用reset()将指针移到第一元素。4、var_dump(mixed expression , mixed expression , . )描述:打印多个有关变量的相关信息,包括值的类型,长度,输出整型、字符型、浮点型除了输出值还会输出类型和长度。输出数组和对象同print_r类似,也只是会有类型和长度。5、var_export(mixed $bianliang,true)描述:输出一个变量的字符串表示,与var_dump()类似,不同的是其返回的表示是合法的PHP代码。如果第二个参数设置true,则会捕获输出结果,而不会输出内容。6、strcmp($str1,$str2)功能:将字符串按字节进行比较(区分大小写);参数:$str1,$str2为需要比较的两个字符串;返回值:类型(整型),顺序查看$str1,$str2每一个字节所对应的字符,如果当查到$str1的一个字节上的字符的ASCII码值大于对应$str2位置上的字符的ACSII码值则返回的值为1;否则为-1;当两个字符串完全相同是返回值为0;当$str1(有n+m个)的字节数大于$str2(有n个)的字节数且两字符串前n个字符相同,这时候返回值为正m;当$str1(有n个)的字节数小于$str2(有n+m个)的字节数且两字符串前n个字符相同,这时候返回值为负m。7、strcasecmp($str1,$str2)说明:该函数和strcmp()功能相同,但是不区分大小写。8、strnatcmp($str1,$str2)功能:将字符串按“自然排序”法进行比较;参数:$str1,$str2为需要比较的两字符串;返回值:类型(整型),当两个字符串中没有数字或者两个字符串中有数字但数字对应位置不相同时或者数字在相同的位置上时但是前面的字符串不一致,将会按字节进行比较,但是返回的值只会是-1,0,1;当两个字符串中有数字且数字的第一位的位置相同,则按“自然顺序”进行比较,当$str1的数字大于$str2中的数字时,返回为1,当$str1的数字小于$str2中的数字时,返回为-1,当两字符串的数字相同时返回为0。同样strnatcasecmp()不区分大小写注意:如果存在空格,按没有空格处理9、strncmp($str1,$str2,$int)功能:将字符串的指定部分按字节进行比较;参数:$str1,$str2为需要比较的字符串,$int为指定比较长度;返回值:类型(整型),各种情况和strcmp()相同,只不过指定部分才进行比较,$int不能为负。同样strncasecmp()不区分大小写10、usort($arr,$str)功能:将一个数组的值按指定的用户自定义函数或者其他比较函数的排序方式进行排序参数:$arr需要排序的数组,$str传递的函数名;返回值:类型(布尔型),在排序方式中一定要有两元素比较之后返回一个大于零的或者小于零的数或者等于0,且大于零的值会排在后面。而排序函数中有两个参数,是将数组的值按引用的方式进行传递,如果是多维的数组,传递的两参数是第一个索引的引用。注意:该函数也可以调用一个类的方法来排序,则这个函数的第二个参数是一个数组(第一个元素值为类名,第二个元素值为方法名)11、settype($bianliang,$str)功能:设置变量的类型;参数:$bianliang为需要设置类型的变量,$str类型字符串;返回值:类型(布尔型)12、强制类型转换在要转换的变量前面加上“(类型字符串)”(int),(integer) - 转换成整型(bool),(boolean) - 转换成布尔型(float),(double),(real) - 转换成浮点型(string) - 转换成字符串(array) - 转换成数组(object) - 转换成对象13、ceil($value)功能:进一法取整,返回大于或者等于$value的最小整数;参数:$value为整型、字符型、浮点型;返回值:类型(整型),当$value为整型或者没有小数数字字符串时,返回的值仍为$value,当$value为浮点型或者有小数的字符串时,返回的值为大于$value的最小整数,当$value为字符串时,返回值为0。14、floor($value)功能:舍一法取整,返回小于或者等于$value的最大整数;参数:$value为整型、字符型、浮点型;返回值:类型(整型),当$value为整型或者没有小数数字字符串时,返回的值仍为$value,当$value为浮点型或者有小数的字符串时,返回的值为小于$value的最大整数,当$value为字符串时,返回值为0。15、round($value,$precision)功能:将一个浮点数进行四舍五入;参数:$value为一个需要处理的值,$precision为指定的精度(当省略该参数时系统默认按0处理,也就是说不保留小数);返回值:类型(浮点型)。16、number_format($number,$decimals,$point,$thousands_sep)功能:格式化一个数;参数:$number为需要格式化的数,$decimals为保留的小数位数(会进行四舍五入),$point为小数点的代替字符,$thousands_sep为每一千的分隔符;返回值:类型(字符型),这个函数可以有一个参数,两个参数,四个参数当有一个参数$number时,$number的小数将会舍去,每一千用逗号分隔;当有两个参数时$number将会格式化为$decimals位数的小数,每一千用逗号分隔;当有四个参数时,$number将会被格式化为$decimals位数的小数,小数点用$point字符来代替,每一千用$thousands_sep字符分隔。注意:这个函数不能有三个参数。17、intval($number)功能:获取变量的整型值;参数:$number为需要取整的浮点数;返回值:类型(整型),当$number为字符型且以数字开头,则返回的是字符的数字部分,不是以数字开头则返回0。18、floatval($number)功能:获取变量的浮点值;参数:$number为需要取浮数;返回值:类型(整型),当$number为字符型且以数字开头,则返回的是字符的数字部分,不是以数字开头则返回0。18、strval($number)功能:获取变量的字符值;参数:$number为需要操作的变量;返回值:类型(字符型)。19、不要将一个未知的分数强制转换为整型数,这样为导致一个意外的结果。20、bcpow($x,$y,$int)功能:对$x进行$y的次幂,并设置返回值的精度(小数位数)为$int;参数:$x为需要操作的数字,$y为多少次方,$int精度设置(可以省略,省去后系统默认不保留小数);返回值:类型(字符型)。21、bcscale($int)功能:设置所有的高精度数学函数的默认精度(小数位数);参数:$int为设置的精度值;返回值: 类型(布尔型)。22、bcsqrt($x,$int)功能:返回$x操作数任意$int精度的平方根;参数:$x为需要求平方根的数,$int用于指定其返回值的精度;返回值:类型(字符型)。23、所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。 24、变量解析:说明:当用双引号或者定界符来指定一个字符串时,其中的变量将会被其值来取代,但是什么时候代表变量名的结束呢?而在PHP解析一个变量时,会自动的尽可能多的获取后面的字符从而组成一个合法的PHP变量。可以用花括号来明确标志一个变量名的结束。25、不能用字符串定界符语法初始化类成员。用其它字符串语法替代。26、addcslashes($str,$charlist)功能:在$str中,把$charlist指定的字符进行转义;参数:$str为需要操作的字符串,$charlist为指定的需要操作的字符列表;返回值:类型(字符型)用stripcslashes($str1)可以将addcslashes()转义的字符串还原。27、addslashes($str)功能:将字符串$str中的所有特殊(如n、t、f等)的字符转义;参数:$str为需要操作的字符串;返回值:类型(字符型)该函数在将数据插入数据库时要用到,同样用stripslashes($str1)将转义的字符串还原。28、htmlspecialchars($str,ENT_COMPAT,$charset)功能:将含有HTML标签的字符串转义;参数:$str为需要操作的字符串;返回值:类型(字符型)。29、htmlentities($str1,ENT_COMPAT,$charset),html_entity_decode ($str1,ENT_COMPAT,$charset)功能:对所有的HTML中标签都会进行转义,和htmlspecialchars()功能相似,但是能转义的范围更大;参数:$str1为需要操作的字符串,ENT_COMPATO为一个常量,其实还可以设置为ENT_QUOTES、ENT_NOQUOTES,这三个值是对双引号和单引号的处理方式,但是我测试的时候没有效果,$charse为字符编码集,在这个函数中如果要显示汉字,必须设置编码,不然会出现乱码;返回值:类型(字符型)。30、strtr($str,$str1,$str2)功能:在字符串$str中查找$str1,并用$str2替换掉($str中的全部$str1子字符串都会被替换掉);参数:$str是需要操作的字符串,$str1是查找的子字符串,$str2是用来替换$str1的子字符串;返回值:类型(字符型),返回的是替换后的字符串(注意这个函数不会改变$str的值,只是将$str的值复制了一份)。31、strtr($str,$arr)功能:在字符串中$str中依次查找数组$arr中的每一个元素的键值,查找到之后用元素值给替换;参数:$str为需要操作的字符串,$arr为一个数组;返回值:类型(字符型),返回的是替换后的字符串(注意这个函数不会改变$str的值,只是将$str的值复制了一份)。32、strip_tags($str)功能:过滤掉字符串$str中HTML标记和PHP代码;参数:$str为需要操作的字符串;返回值:类型(字符型)。33、nl2br($str)功能:将字符串$str中的换行符n用替换掉;参数:$str为需要操作的字符串;返回值:类型(字符型) 。34、wordwrap($str,$int,$str1,$bool)功能:将字符串$str每隔$int个字符插入$str1子字符串,如果设置了第四个参数为1,则总是会按照指定的$int的宽度插入$str1;参数:$str为需要操作的字符串,$int为每隔的宽度,$str1插入的子字符串;返回值:类型( 字符型)。注意:当只有一个$str参数时,默认是每隔75个字符插入n。与chunk_split()有点相似。35、bin2hex($str)功能:将一个二进制数据转换成十六进制表示;参数:$str为需要转换的字符串;返回值:类型(字符型),ACSII字符串;36、implode($str,$arr)功能:将一个数组压缩为一个字符串;参数:$str为数组元素的分隔符,$arr为需要操作的数组;返回值:类型(字符型)。37、rawurlencode($url)功能:将$url按照RFC 1738进行编码;参数:$url需要编码的URL;返回值:类型(字符型),除了_-.所有的非数字字母字符将转换为(%十六进制)的编码。它和urlencode()不同的是urlencode()将会把空格编码为+,其它的相同。38、array_shift($arr)功能:将数组的第一个单元移出,并将会重置数组指针到开始位置;参数:$arr需要操作的数组;返回值:类型(根据数组第一个元素的类型确定),返回的是移出的数组元素,数字键名将改为从0开始,文字键名不变。39、base64_encode($str)功能:对数据用MIME base64编码;参数:$str为需要编码的字符串;返回值:类型(字符型),解码为base64_decode()。40、chunk_split($str,$int,$end)功能:在$str中每隔$int字符插入一个$end子字符串;参数:$str为操作的字符串,$int为一个整型的值,$end为一个子字符串;返回值:类型(字符型),当只有一个参数$str时,默认是每76个字符插入rn。41、str_split($str,$int)功能:将字符串转换为一个数组;参数: $str为转换的数组,$int为一个整型值,表示每多少个字符组成一个数组元素;返回值:类型(数组),当没有$int值时,每个数组元素只含有一个字符。42、count_chars($str,$mode)功能:返回一个字符串使用的字符信息;参数:$str需要返回信息的字符串,$mode为0,1,2,3,4中的一个值;返回返回值:当$mode为0,1,2时,类型(数组);当$mode为3,4时,类型(字符型);当$mode=0时,返回所有字节值作为键名,对应字节值的使用次数为值的数组;当$mode=1时,和0相同,返回字节值的使用次数大于0的数组;当$mode=2,和0相同,返回字节值的使用次数等于0的数组;当$mode=3时,返回的是所有使用过的字节值所对应字符所组成的一个字符串;当$mode=4时,返回的是所有没有使用过的字节值所对应字符所组成的一个字符串。-43、数组学习总结:(1)、数组的键名类型为整型或者字符型,如果给数组的键名设置为浮点型,则系统会自动取整;(2)、在一个数组中如果没有指定键值,这时新生成的数组元素的的键名为以前最大索引加一,如果最大索引为负数,这时新生成的数组元素的键名为0;(3)、如果将布尔值TRUE作为数组元素的键值系统会自动将其转化为1,如果将布尔值FALSE作为数组元素的键值系统会自动将其转化为0,如果将NULL作为数组元素的键名,这是新生成的数组元素的键名为空字符串;(4)、如果要删除数组元素中的某个元素可以用unset($arr$i)函数,注意通过这个方法删除一个数组元素后,新生成数组的索引还是会按照原来的索引增加;(5)、array_values($arr)功能:返回给出数组$arr所有元素的值,并对其建立数字索引,但不会改变原来的数组;参数:$arr为一个数组;返回值:类型(数组)。(6)、在使用字符串作为数组元素的键名时一定要加上引号;(7)、不能用数组或者对象作为键名;(8)、数组的运算符:+、=、!=、=、!=a、+运算符:是数组的联合,将右边的数组附加到左边的数组,键值相同的元素不会覆盖, 附加的数组元素保持键值不变;b、=运算符:判断两个数组是否相等,只考虑键/值对,而不考虑元素的顺序和值的数据类型,如果相等则返回TRUE;c、!=和运算符:判断两个数组是否不等,只考虑键/值对,而不考虑元素的顺序和值的数据类型,如果不等则返回TRUE;d、=运算符:判断两个数组是否全等,考虑键/值对、数据类型、元素顺序,当其全部满足时返回TRUE;e、!=运算符:判断两个数组是否不全等,考虑键/值对、数据类型、元素顺序,如果有一部分不相等,或者全不相等时返回TRUE;(9)、操作数组函数:array_change_key_case($arr,constant);功能:将$arr数组的索引全部改为常量constant所指定的大小写;参数:$arr为数组类型变量,constant为一个常量,其值可以为CASE_LOWER、CASE_UPPER;返回值:类型(数组),返回一个改变了键值大小写的数组。注意:当一个数组经过此函数改变键值的大小写后出现相同的键值,则最后一个会覆盖前面的元素值。array_map(callback,$arr1,$arr2.)功能:这个函数将会回调callback这个函数,来处理$arr1,$arr2,.的所有单元;参数:callback为回调的函数名,$arr1,$arr2,.为需要处理的函数;返回值:类型(数组),返回的是经过处理的一个数组,每一次处理之都会生成返回数组的一个元素;注意:当callback设为NULL时可以构造一个二维数组,其中在$arr1,$arr2.中长度最长的值是一维元素的个数,每一个元素是由各个数组所对应的元素所构成的数组,数组的键值为数字;list($bian1,$bian2,$bian3,.)功能:将一个数组的元素值依依赋给$bian1,$bian2,$bian3,.;参数:$bian1,$bian2,$bian3,.为需要赋值的变量;返回值:类型(void)。注意:这个函数(其实一个语言结构)是假设数组的索引是从0开始;range($low,$high,$step)功能:返回指定单元的范围的一个数组;参数:$low为下限,$high为上限,$step为步长;返回值:类型(数组)。reset($arr)功能:将数组的内部指针指向第一个单元,并返回第一个单元的值;参数:$arr为一个数组;返回值:类型(不确定);current($arr)功能:返回数组当前单元的值;参数:$arr为一个数组;返回值:类型(不确定)注意:当当前单元为空或者值为0时会返回FALSE;each($arr)功能:返回数组当前指针所指向的键/值对,并把指针向后推进一个;参数:$arr为一个数组;返回值:类型(数组),返回的是一个包括0,1,key,value为键值的数组,其中1、value是单元的值,0、key是该单元的键值;key($arr)功能:返回数组当前单元的键值;参数:$arr为一个数组;返回值:类型(整型或者字符型);next($arr)功能:将数组的指针向后移动一步,并将指针移动后的当前单元的值;参数: $arr为一个数组;返回值:类型(不确定),注意:当移动到的单元为空或者值为0时会返回FALSE;end($arr)功能:将数组的指针指向数组的最后一个单元,并返回数组最后一个单元的值;参数:$arr为一个数组;返回值:类型(不确定);prev($arr)功能:将数组的指针向前移动一步,并将指针移动后的当前单元的值返回;参数:$arr为一个数组;返回值:类型(不确定),注意:当移动到的单元为空或者值为0时会返回FALSE;在PHP5中可以通过引用的方式来改变数组元素的值如:$arrex=array(2=skdfjsk,df=夺,dfjkasdfj);foreach($arrex as &$a_value)$a_value=strtoupper($a_value);var_dump($arrex);44、substr_count($str,$zhistr,$offet,$length)功能:在字符串$str中查找子字符串$zhistr出现的次数;参数:$str为需要查找子串的范围字符串,$zhistr查找的子字符串,$offet从第几个字符开始查找,$length为查找多少个字符后就不再查找;返回值:类型(整型),返回子字符出现的次数。45、empty($var)功能:检测变量的是否为0、0、NULL、array、false,以及对象的属性是否为空,或者变量根本就不存在;参数:$var检测的变量;返回值:类型(布尔型),如果变量的值为0、0、NULL、array、false,以及对象的属性是否为空,或者变量根本就不存在时该函数返回true,否则为false。46、isset($var)功能:检测变量是否已经设置;参数:$var为检测的变量;返回值:类型(布尔值),这个函数不检测变量的值,当变量没有设置时返回false,当变量已经设置则返回true。47、可变变量的解释:可以将一个变量的值作为另一个变量的名称如:$a=xu;$a=world;48、UBB代码:49、正则表达式中说的匹配:在给定的字符串,查找与正则表达式相匹配的的子字符串。50、正则表达式中的和$,在单文本模式下匹配字符串的开始和结束,如果是在多文本模式下就匹配行的开始与结束;51、匹配中国地区座机号码的正则表达式:0d2- d7,8$|(0d2)- d7,8$|0d3- d7,8$|(0d3)- d7,8$52、匹配IP地址的正则表达式:(20-4d|250-5|01?dd?).)3(20-4d|250-5|01?dd?)53、basename($path)功能:返回路径中的文件名部份;参数:$path为带路径的文件名;返回值:类型(字符型);54、dirname($path)功能:返回路径中的目录部分;参数:$path为带路径和文件名;返回值:类型(字符型);55、对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。 如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。 如果将一个 NULL 值转换成数组,将得到一个空数组。 56、strtoupper(string)功能:将string中的字母全部大写;参数:string为一个字符串;返回值:类型(字符型),注意作用相反的一个函数是strtolower();57、相当的像素值为48px,32px,24px,18px,16px,13px,10px.58、date_default_timezone_set(PRC)php 字符串字节数PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是13倍的差异了。采用mb_strlen函数可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串$str长度,可以用mb_strlen($str,UTF-8)。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过mb_internal_encoding()函数得到,设置有两种方式:1. 在php.ini中设置ernal_encoding = UTF-82. 调用mb_internal_encoding(”GBK”)除了mb_strlen,还有很多切割函数,其中mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。而且从函数切割对长度的作用也不同,mb_strcut的切割条件是小于strlen, mb_substr是等于strlen,看下面的例子,$str = 我是一串比较长的中文-;echo mb_substr: . mb_substr($str, 0, 6, utf-8);echo ;echo mb_strcut: . mb_strcut($str, 0, 6, utf-8);?>输出如下:mb_substr:我是一串比较mb_strcut:我是需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php编译模块时加入mbstring的支持:(1)编译时使用enable-mbstring(2)修改/usr/local/lib/php.incdefault_charset = “zh-cn”mbstring.language = ernal_encoding =zh-cnmbstring类库内容比较多,还包括mb_ send_ mail 之类的email处理函数等PHP中预定义变量的学习:1、$GLOBALS保存在全局范围内的自动全局变量即超级全局变量,是一个数组,数组的键值为自动全局变量名,值为当前全局变量的值。2、$_SERVER包含诸如头信息(header)、路径(path)、脚本位置(script locations)的变量:(1)、$_SERVERPHP_SELF返回当前脚本文件名,如/function/obtain_array.php该变量返回的是/function/obtain_array.php(2)、$_SERVERGATEWAY_INTERFACE返回服务器使用的CGI规范的版本;(3)、$_SERVERSERVER_NAME返回当前脚本所在服务器主机的名称;(4)、$_SERVERSERVER_SOFTWARE返回服务器标识的字串,在请求的头信息给出如Apache/2.0.63 (Win32) PHP/5.2.9-2;(5)、$_SERVERSERVER_PROTOCOL返回请求页面的通信协议及其版本如HTTP/1.1;(6)、$_SERVERREQUEST_METHOD返回请求页面的方法;(7)、$_SERVERREQUEST_TIME返回请求页面的时间戳;(8)、$_SERVERQUERY_STRING返回URL中第一个问号之后的内容;(9)、$_SERVERDOCUMENT_ROOT返回当前脚本所在服务器的根目录;(10)、$_SERVERHTTP_ACCEPT返回请求的Accept头信息的内容;(11)、$_SERVERHTTP_ACCEPT_CHARSET返回请求的Accept-Charset头信息的内容;(12)、$_SERVERHTTP_ACCEPT_ENCODING返回请求的Accept-Encoding头信息的内容;(13)、$_SERVERHTTP_ACCEPT_LANGUAGE返回请求的Accept-Language头信息的内容;(14)、$_SEVERHTTP_CONNECTION返回请求的Connection头信息的内容;(15)、$_SERVERHTTP_HOST返回请求的Host头信息的内容;(16)、$_SERVERHTTP_REFERER返回当前页面的前一个链接地址;(17)、$_SERVERHTTP_USER_AGENT返回请求的User-Agent头信息的内容;(18)、$_SERVERREMOTE_ADDR返回请求当前页面的用户的IP地址;(19)、$_SERVERREMOTE_PORT返回用户连接到服务器使用的端口号;(20)、$_SERVERSCRIPT_FILENAME返回执行脚本的绝对路径名,如果是在CLI中执行则返回的是相对路径名;(21)、$_SERVERSERVER_ADMIN返回Apache服务器配置文件中的SERVER_ADMIN参数;(22)、$_SERVERSERVER_PORT返回服务器使用的端口号;(23)、$_SERVERSERVER_SIGNATURE 返回服务器版本和虚拟主机名的字串;(24)、$_SERVERSCRIPT_NAME返回脚本的当前路径,包括文件名;(25)、$_SERVERREQUEST_URI返回此页面的URI;(26)、$_COOKIE该变量保存着所有客户端发来的cookie信息,可以通过$_COOKIEcookiename的方式来获得名为cookiename的值;(27)、$_GET该变量保存着客户端通过GET方法传递过来的数据;(28)、$_POST该变量保存着客户端通过POST方法提交过来的数据;(29)、$_FILES文件上传变量,在接受HTTP POST方法提交来的文件的相关信息;注:在文件上传时,标签的enctype属性必须设置为multipart/form-data;(30)、$_REQUEST此关联数组包含 $_GET,$_POST 和 $_COOKIE 中的全部内容。 (31)、$_SERVERSERVER_ADDR返回当前运行脚本服务器的IP地址PHP中预定义常量的学习:五个魔术常量(1)_line_或者_LINE_返回当前行号(2)_file_或者_FILE_返回当前脚本的文件名和路径即文件的绝对路径(3)_function_或者_FUNCTION_在函数内部使用,返回当前函数名(4)_class_或者_CLASS_在类的内部使用,返回当前类名(5)_method_或者_METHOD_在类的方法内部内部使用,返回当前方法名其他常量:(1)PHP_VERSION 保存着PHP程序的版本号(2)PHP_OS 执行PHP解析器的操作系统面向对象学习总结:1、伪变量$this能够在对象的方法内部调用对象的其他方法和属性,换句话说只有在声明了对象的情况下才可以使用伪变量$this;2、final关键字,如果final用于类时,则此类为最终版本不能被其他类继承,如果final用方法时,则此方法不可以重写(注意这个关键字不能用于成员变量);3、伪操作符:能够在没有申明任何对象在任何位置访问类中的静态成员变量、常量;4、_construct()构造方法,如果父类中有构造方法子类中也有构造方法这个时候声明子类的对象时会调用子类中的构造方法,如果要在子类中调用父类的构造方法要用parent:_contruct,为了实现向后兼容性,当一个类中没有_contruct()方法时,则在声明对象的时候会自动调用与类同名的方法;5、self和parent两个关键字只能是在类中的方法内部使用,self是用于访问当前类中的静态成员,parent是用于访问父类中的成员和方法;6、static关键字用于声明静态成员,需要注意的是如果用了该关键字则不能通过对象的方式访问一个静态成员变量;在PHP面向对象中一个成员变量为static 关键字修饰后,在类被加载的时候就放在静态储存区中,该成员变量就相当一个全局变量,专属于一个类,而不属于一个对象,所有该类的对象共享这个属性;一个方法声明为静态相当于一个全局函数;特别注意:在静态的方法中是不能访问非静态的成员的,原因是由于一个静态的方法通过(:)来访问时是没有对象的,而在非静态的成员在对象或者类的内部要通过$this这个伪变量来访问,这个伪变量使用的前提是通过对象来访问,前面说了是没有声明对象的;而这另一方面如果你试图想通过对象来调用静态方法,而在静态的方法中又有非静态的成员这个时候也$this就不能代表当前对象了,因为在这个静态的方法中找不到对象!综上所述:在静态的方法中是不能访问非静态的成员的!补充:静态的方法可以通过对象来访问,但是静态的属性不能通过对象来访问;7、在类中定义常量和在程序中定义常量是有区别的,在类中定义常量用const关键字,格式为const 常量名=常量值,常量而且只能通过伪操作符来访问,不能通过对象来访问,如classname:常量名;8、在PHP中抽象类是指不能被实例化的类,抽象类中至少要有一个抽象方法,该方法只是在抽象类中简单的声明,格式为 abstract public/protected/private function 方法名();,抽象方法在子类中必须被重写且抽象类和子类中visibility要一致;9、在PHP中类名和成员方法名是不区别大小写的,请注意;10、instanceof操作符是用来判断某个对象或者子类是否是某个类而产生格式为:对象名/子类名 instanceof 类名;11、可以通过foreach()遍历对象的可见属性;12、接口类是为了实现多继承,声明接口类用interface关键字,接口类只含有一些未实现的方法和成员变量,且所有未实现的方法在子类中都要被实现,实现接口的关键字是implements格式为class 类名 implements 接口1,接口2,.; 13、_get($name)魔术方法功能:当程序试图调用一个未定义或者不可见的成员变量的时候就会自动调用该方法,这个时候程序试图调用的成员变量的返回值是该方法的返回值;参数:$name为试图调用的成员变量的名称,这个参数的传递是PHP自动完成的;返回值:类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论