《php重要知识点总结(PHP网络开发必背).doc》由会员分享,可在线阅读,更多相关《php重要知识点总结(PHP网络开发必背).doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流php重要知识点总结(PHP网络开发必背)【精品文档】第 24 页PHP网站开发必用知识点总结,函数一览,开发必背魔术方法 _construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。 _destruct() 当删除一个对象或对象操作终止的时候,调用该方法。 _get() 当试图读取一个并不存在的属性的时候被调用。 _set() 当试图向一个并不存在的属性写入值的时候被调用。 _call() 当试图调用一个对象并不存在的方法时,调用该方法。 _toString() 当打印一个对象的时候被调用 _clone() 当对象被克隆时,被调用_
2、isset()_unset()_autoload($classname)_sleep()_wakeup()系统常量 _FILE_ 当前文件名 _LINE_ 当前行数 _FUNCTION_ 当前函数名 _CLASS_ 当前类名 _METHOD_ 当前对象的方法名 PHP_OS 当前系统 PHP_VERSION php版本 DIRECTORY_SEPARATOR 根据系统决定目录的分隔符 / PATH_SEPARATOR 根据系统决定环境变量的目录列表分隔符 ; : E_ERROR 1 E_WARNING 2 E_PARSE 4 E_NOTICE 8 M_PI 3.141592 $_SERVER
3、$_ENV 执行环境提交至脚本的变量 $_GET $_POST $_REQUEST $_FILES $_COOKIE $_SESSION $_GLOBALS输出echo /Output one or more stringsprint /Output a stringprint_r() /打印关于变量的易于理解的信息。var_dump() /打印变量的相关信息var_export() /输出或返回一个变量的字符串表示printf(%.1f,$num) /Output a formatted string sprintf() /Return a formatted string编码转换strin
4、g mb_convert_encoding ( string $str , string $to_encoding , mixed $from_encoding )iconv();时间date_default_timezone_set(PRC);date(Y-m-d H:i:s);time();date(Y-m-d H:i:s,time()+3600)ini_set(date.timezone, PRC);msec sec microtime() 以秒返回时间戳 explode( , microtime()错误处理1/0error_reporting(E_ALL) 显示所有错误 error_r
5、eporting(0)trigger_error(Cannot divide by zero, E_USER_ERROR);trythrow new Exception(执行失败);catch (Exception $ex)echo $ex;字符串处理string trim(eee ) trim (ffffe,e) /ltrim rtrimarray explode(., fff.ff.f) 按指定字符切割string implode(., $array) 别名:join 把数组值数据按指定字符连接起来array str_split(eeeeeeee,4) 按长度切割字符串 array spl
6、it(-,fff-ff-f) 按指定字符切割int strlen(ffffffff) 取字符长度string substr ( string $string , int $start , int $length ) substr($a,-2, 2) 截取字符int substr_count($text, is) 字符串出现的次数string strstr($text, h) 第一次出现h后的字符串 /别名:strchrint strpos($text, h) 第一次出现h的位置strrpos();最后一次出现h的位置str_replace(a, ttt, $t) 把$t里的a替换为ttt st
7、rtr($t,is,ppp) 把$t中is替换成ppp strtr(hi all, I said hello, array(hello = hi) 把hello转换成histring md5_file(1.txt,false) 文件数据md5加密int strcmp(string str1, string str2) 字符串比较int strcasecmp(string str1, string str2) 忽略大小写 string str_pad($i, 10, -=, STR_PAD_LEFT) 在原字符左边补-=,直到新字符串长度为10 STR_PAD_RIGHT STR_PAD_BOT
8、Hstring str_repeat(1, 5) 重复5个1 void parse_str(id=11); echo $id; 将字串符解析为变量array preg_grep(/(d+)?.d+$/, array(11.2,11,11.2) 匹配数据array preg_split (/s,+/, hypertext language,programming); 按指定的字符切割array pathinfo(string path , int options) 返回文件路径的信息string basename ( string path , string suffix ) 返回路径中的文件名
9、部分string dirname ( string path ) $_SERVERPHP_SELF 返回路径中的目录部分string nl2br(foo isntn bar) foo isnt bar 把换行转成string chr ( int ascii ) *mixed str_word_count ( string string , int format , string charlist )string str_shuffle (abc) 打乱字符串顺序string strrev($str) * 翻转一个字符串string strtolower($str) * 将字符串 $str 的字
10、符全部转换为小写的string strtoupper($str) * 将字符串 $str 的字符全部转换为大写的string ucfirst ($str) * 将字符串 $str 的第一个单词的首字母变为大写。string ucwords($str) * 将字符串 $str 的每个单词的首字母变为大写。string addslashes(Im) Im 使用反斜线引用字符串 这些字符是单引号()、双引号()、反斜线()与 NUL(NULL 字符)string stripcslashes(Im) Im 将用addslashes()函数处理后的字符串返回原样strip_tags(tt, ) 去除ht
11、ml、xml、php标记,第二个参数用来保留标记string urlencode(string str)string urldecode(string str)string htmlspecialchars(Test, ENT_QUOTES) 转换特殊字符为HTML字符编码<a href='test'>Test</a>ENT_COMPAT 对双引号进行编码,不对单引号进行编码ENT_QUOTES 对单引号和双引号进行编码ENT_NOQUOTES 不对单引号或双引号进行编码string htmlentities(ff, ENT_QUOTES) 转换特殊
12、字符为HTML字符编码,中文会转成乱码数组处理int count( mixed var , int mode ) 别名:sizeof() 取数组长度 string implode(., $array) 别名:join 把数组值数据按指定字符连接起来array explode(., fff.ff.f) 按指定字符切割array range(0, 6, 2) 返回数组 array(0,2,4,6) 第一个参数为起使数,第二个参数为结束数,第三个参数为数据增加步长int array_push($a, 3, 1) 把3、1压入$a,将一个或多个单元压入数组的末尾(入栈),第二个参数开始就是压入的数据v
13、oid unset ( mixed var , mixed var , . )array array_pad ($a, 5, s)用s将数组填补到指定长度bool shuffle ( array $array ) 将数组打乱mixed array_rand ( array input , int num_req )从数组中随机取出一个或多个单元的索引或键名array array_count_values ( array input )统计数组中所有的值出现的次数array array_combine ( array keys, array values ) 创建一个数组,用一个数组的值作为其键
14、名,另一个数组的值作为其值bool array_key_exists ( mixed key, array search )检查给定的键名或索引是否存在于数组中mixed array_search ( mixed needle, array haystack , bool strict )在数组中搜索给定的值,如果成功则返回相应的键名bool is_array ( mixed var )bool in_array ( mixed needle, array haystack , bool strict )检查数组中是否存在某个值number array_sum ( array array )计
15、算数组中所有值的和array array_unique ( array array )移除数组中重复的值mixed reset ( array &array )将数组的内部指针指向第一个单元mixed current ( array &array )mixed next ( array &array )mixed prev ( array &array )mixed end ( array &array )mixed key ( array &array )array array_keys ( array input , mixed search_value , bool strict ) 返
16、回数组中所有的键名array array_values ( array input ) 返回数组中所有的值bool print_r ( mixed expression , bool return )void var_dump ( mixed expression , mixed expression , . )int array_unshift ( array &array, mixed var , mixed . )在数组开头插入一个或多个单元mixed array_shift ( array &array )将数组开头的单元移出数组mixed array_pop ( array &arr
17、ay )将数组最后一个单元弹出(出栈)array array_splice ( array $input, int offset , int length , array replacement ) 把数组中的一部分去掉并用其它值取代array array_merge ( array array1 , array array2 , array . )合并一个或多个数组array array_flip ( array trans )交换数组中的键和值int extract( array var_array , int extract_type , string prefix ) 从数组中将变量导
18、入到当前的符号表array compact ( mixed varname , mixed . ) 建立一个数组,包括变量名和它们的值bool sort ( array &array , int sort_flags )从最低到最高重新安排bool natsort($a)用“自然排序”算法对数组排序 bool rsort ( array &array , int sort_flags )对数组进行逆向排序(最高到最低)bool asort ( array &array , int sort_flags )对数组进行排序并保持索引关系bool arsort ( array &array , in
19、t sort_flags ) 对数组进行逆向排序并保持索引关系bool ksort ( array &array , int sort_flags )对数组按照键名排序bool krsort ( array &array , int sort_flags )对数组按照键名逆向排序array array_filter ( array input , callback callback ) 用回调函数过滤数组中的单元bool array_walk ( array &array, callback funcname , mixed userdata ) 对数组中的每个成员应用用户函数array ar
20、ray_map ( callback callback, array arr1 , array . )将回调函数作用到给定数组的单元上array array_fill ( int start_index, int num, mixed value ) 用给定的值填充数组 array_fill(5, 3, a)-array(5=a,6=a,7=a)array array_chunk ( array input, int size , bool preserve_keys )将一个数组分割成多个其他 isset() 变量是否存在 boolean empty() 检查变量是否存在,并判断值是否为非空
21、或非0 void unset() 销毁变量 header(Content-Type: text/html; charset=utf-8);method_exists($obj, $method)判断对象的方法是否可用file_exists($file)判断文件是否存在function_exists();class_exists($class_name); gettype();获取数据类型 set_magic_quotes_runtime() 0 for off, 1 for on 当遇到反斜杆、单引号,将会自动加上一个反斜杆,保护系统和数据库的安全ini_set();安全function st
22、rReplace($str) $strResult = $str; if(!get_magic_quotes_gpc()/判断设置是否开启$strResult = addslashes($strResult);/转换sql语句特殊字符 return $strResult;function quotes($content)/如果magic_quotes_gpc=Off,那么就开始处理if (!get_magic_quotes_gpc()/判断$content是否为数组if (is_array($content)/如果$content是数组,那么就处理它的每一个单无foreach ($conten
23、t as $key=$value)$content$key = addslashes($value);else/如果$content不是数组,那么就仅处理一次addslashes($content);/返回$contentreturn $content;smarty模板引擎将不分析function t() 读取配置文件引入文件 $trusted_dir 指定目录下的文件捕获模板输出的数据fffffffff循环新闻编号:新闻内容:判断111122222222时间$smarty.now|date_format:%Y-%m-%d %H:%M:%S%Y年%m月%d日 乱码修改插件:plugins/mo
24、difier.date_format.php$format = mb_convert_encoding($format,gbk,utf-8);return mb_convert_encoding(strftime($format, $timestamp),utf-8,gbk);局部不缓存html:php:$smarty-register_block(cacheless, smarty_block_dynamic, false);/true:缓存,false:不缓存function smarty_block_dynamic($param, $content, &$smarty)return $c
25、ontent;php:function insert_kk()/方法名前必须有insertreturn date(Y-m-d H:i:s);html:自定义方法注册方法php$smarty-register_function(test1, test);function test($p)return ffffffffff;html:方法自定义插件文件方式定义方法function.test.php 文件存在plugins目录下,方法名:smarty_function_test($params, &$smarty)function smarty_function_test($params, &$sm
26、arty)return fff;html调用:插入方法插件文件:insert.kk.php文件存于plugins目录下function smarty_insert_kk()return date(Y-m-d H:i:s);php:function insert_kk()/方法名前必须有insertreturn date(Y-m-d H:i:s);html:管道符自定义方法插件文件方式定义方法modifier.test.php 文件存在于plugins目录下,方法名: function smarty_modifier_test($str, $str2)function smarty_modifi
27、er_test($str, $str2)return $str.$str2;html调用:php:function eee($a)return ffffffffffffff;html:if语句eq相等,ne、neq不相等,gt大于gte、ge大于等于,lte、le 小于等于,not非, mod求模。is not div by是否能被某数整除,is not even是否为偶数,$a is not even by $b 即($a / $b) % 2 = 0is not odd是否为奇$a is not odd by $b即($a / $b) % 2 != 0XML saxxml: Jack Her
28、rington PHP Hacks OReilly Jack Herrington Podcasting Hacks OReilly 作者 标题 出版者 php: $g_books = array(); $g_elem = null; function startElement( $parser, $name, $attrs ) global $g_books, $g_elem; if ( $name = BOOK ) $g_books = array(); $g_elem = $name; function endElement( $parser, $name ) global $g_ele
29、m; $g_elem = null; function textData( $parser, $text ) global $g_books, $g_elem; if ( $g_elem = AUTHOR | $g_elem = PUBLISHER | $g_elem = TITLE )$g_books count( $g_books ) - 1 $g_elem = $text; $parser = xml_parser_create(); xml_set_element_handler( $parser, startElement, endElement ); xml_set_charact
30、er_data_handler( $parser, textData ); $f = fopen( 1.xml, r ); while($data = fread( $f, 4096 )xml_parse( $parser, $data ); xml_parser_free( $parser ); foreach( $g_books as $book ) echo $bookTITLE. - .$bookAUTHOR. - ; echo $bookPUBLISHER.; DomDocument()xml: Jack Herrington PHP Hacks OReilly Jack Herri
31、ngton Podcasting Hacks OReilly 作者 标题 出版者 php读取: $doc = new DOMDocument(); $doc-load( 1.xml); $books = $doc-getElementsByTagName( book ); foreach( $books as $book ) $authors = $book-getElementsByTagName( author ); $author = $authors-item(0)-nodeValue; $publishers = $book-getElementsByTagName( publish
32、er ); $publisher = $publishers-item(0)-nodeValue; $titles = $book-getElementsByTagName( title ); $title = $titles-item(0)-nodeValue; echo $title - $author - $publisher;php生成:$books = array();$books = array(title = PHP Hacks,author = Jack Herrington,publisher = OReilly$books = array(title = Podcastin
33、g Hacks,author = Jack Herrington,publisher = OReilly$doc = new DOMDocument();$doc-formatOutput = true;$r = $doc-createElement( books );$doc-appendChild( $r );foreach( $books as $book )$b = $doc-createElement( book );$author = $doc-createElement( author );$author-appendChild($doc-createTextNode( $boo
34、kauthor );$b-appendChild( $author );$title = $doc-createElement( title );$title-appendChild($doc-createTextNode( $booktitle );$b-appendChild( $title );$publisher = $doc-createElement( publisher );$publisher-appendChild($doc-createTextNode( $bookpublisher );$b-appendChild( $publisher );$r-appendChild
35、( $b );echo $doc-saveXML();echo $doc-save(222.xml); SimpleXMLxml: Jack Herrington PHP Hacks OReilly php:$xml = new SimpleXMLElement(1.xml, NULL, TRUE);echo $xml-book0-author._.$xml-book0-title._.$xml-book0-publisher;正则ereg系列的正则表达式不需要定届符,preg系列的才需要,并且定界符可以自己选择,只有前后一对就行,比如我们一般使用/符号,但是如果里面有/需要匹配那么就需要使用/来表示,当/需要出现多次的时候,这样就不方便,我们就可以使用其他的定界符,比如|正则特殊字符 由原子(普通字符,如英文字符)、 元字符(有特殊功用的字符) 模式修正字符 一个正则表达式中,至少包含一个原子 全部符号解释 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 n。n 匹配一个换行符。序列 匹配 而 ( 则匹配 (。 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性, 也匹配 n 或 r 之后的位置。