1、. .PHP开发必用知识点总结,函数一览,开发必背魔术方法 _construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。 _destruct() 当删除一个对象或对象操作终止的时候,调用该方法。 _get() 当试图读取一个并不存在的属性的时候被调用。 _set() 当试图向一个并不存在的属性写入值的时候被调用。 _call() 当试图调用一个对象并不存在的方法时,调用该方法。 _toString() 当打印一个对象的时候被调用 _clone() 当对象被克隆时,被调用_isset()_unset()_autoload($classname)_sleep()_wakeup(
2、)系统常量 _FILE_ 当前文件名 _LINE_ 当前行数 _FUNCTION_ 当前函数名 _CLASS_ 当前类名 _METHOD_ 当前对象的方法名 PHP_OS 当前系统 PHP_VERSION php版本 DIRECTORY_SEPARATOR 根据系统决定目录的分隔符 / PATH_SEPARATOR 根据系统决定环境变量的目录列表分隔符 ; :E_ERROR 1 E_WARNING 2 E_PARSE 4E_NOTICE 8 M_PI 3.141592 $_SERVER $_ENV 执行环境提交至脚本的变量 $_GET $_POST $_REQUEST $_FILES $_CO
3、OKIE $_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编码转换string mb_convert_encoding ( string $str , string $to_encod
4、ing , 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_reporting(0)trigger_error(Cannot divide by zero, E_USER
5、_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 split(-,fff-ff-f) 按指定字符切割int strlen(ffffffff) 取字符长度string
6、 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 strtr($t,is,ppp) 把$t中is替换成ppp strtr(hi all, I said hello
7、, 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_BOTHstring str_repeat(1, 5) 重复5个1 void parse_str(id=11);
8、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 ) 返回路径中的文件名局部string dirname ( string path ) $_SERVERPHP_SELF 返回路径
9、中的目录局部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 的字符全部转换为小写的string strtoupper($str) * 将字符串 $str 的字符全部转换为大
10、写的string ucfirst ($str) * 将字符串 $str 的第一个单词的首字母变为大写。string ucwords($str) * 将字符串 $str 的每个单词的首字母变为大写。string addslashes(Im) Im 使用反斜线引用字符串 这些字符是单引号、双引号、反斜线与 NULNULL 字符string stripcslashes(Im) Im 将用addslashes()函数处理后的字符串返回原样strip_tags(tt, ) 去除html、xml、php标记,第二个参数用来保存标记string urlencode(string str)string url
11、decode(string str)string htmlspecialchars(Test, ENT_QUOTES) 转换特殊字符为HTML字符编码<a href='test'>Test</a>ENT_PAT 对双引号进展编码,不对单引号进展编码ENT_QUOTES 对单引号和双引号进展编码ENT_NOQUOTES 不对单引号或双引号进展编码string htmlentities(ff, ENT_QUOTES) 转换特殊字符为HTML字符编码,中文会转成乱码数组处理int count( mixed var , int mode ) 别名:sizeo
12、f() 取数组长度 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,将一个或多个单元压入数组的末尾入栈,第二个参数开场就是压入的数据void unset ( mixed var , mixed var , . )array array_pad ($a, 5, s)用s
13、将数组填补到指定长度bool shuffle ( array $array ) 将数组打乱mixed array_rand ( array input , int num_req )从数组中随机取出一个或多个单元的索引或键名array array_count_values ( array input )统计数组中所有的值出现的次数array array_bine ( array keys, array values ) 创立一个数组,用一个数组的值作为其键名,另一个数组的值作为其值bool array_key_exists ( mixed key, array search )检查给定的键名或
14、索引是否存在于数组中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 )计算数组中所有值的和array array_unique ( array array )移除数组中重复的值mixed reset ( arr
15、ay &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 ) 返回数组中所有的键名array array_values ( array input ) 返回数组中所有的值bool print_r ( m
16、ixed 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 &array )将数组最后一个单元弹出出栈array array_splice ( array $input, int offset , int
17、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 ) 从数组中将变量导入到当前的符号表array pact ( mixed varname , mixed . ) 建立一个数组,包括变量名和它们的值bool so
18、rt ( 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 , int sort_flags ) 对数组进展逆向排序并保持索引关系bool ksort ( array &array , int sort_flags )对数
19、组按照键名排序bool krsort ( array &array , int sort_flags )对数组按照键名逆向排序array array_filter ( array input , callback callback ) 用回调函数过滤数组中的单元bool array_walk ( array &array, callback funame , mixed userdata ) 对数组中的每个成员应用用户函数array array_map ( callback callback, array arr1 , array . )将回调函数作用到给定数组的单元上array array_
20、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() 检查变量是否存在,并判断值是否为非空或非0 void unset() 销毁变量 header(Content-Type: text/html; charset=utf-8);method_exi
21、sts($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 strReplace($str) $strResult = $str; if(!get_magic_quotes_gpc()/判断设置是否开启 $strResul
22、t = addslashes($strResult);/转换sql语句特殊字符 return $strResult;function quotes($content)/如果magic_quotes_gpc=Off,那么就开场处理if (!get_magic_quotes_gpc()/判断$content是否为数组if (is_array($content)/如果$content是数组,那么就处理它的每一个单无foreach ($content as $key=$value)$content$key = addslashes($value);else/如果$content不是数组,那么就仅处理一
23、次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/modifier.date_format.php$format = mb_convert_encoding($format,gbk,utf-8);return
24、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 $content;php:function insert_kk()/方法名前必须有insertreturn date(Y-m-d H:i:s);html:自定义
25、方法注册方法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, &$smarty)return fff;html调用:-插入方法插件文件:insert.kk.php文件存于plugins目录下function smarty_i
26、nsert_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_modifier_test($str, $str2)return $str.$str2;html调用:php:function eee($a)return fff
27、fffffffffff;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 Herrington PHP Hacks OReilly Jack Herrington Podcasting Hacks OReilly 作者 标题 出版
28、者 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_elem; $g_elem = null; function textData( $parser, $text ) global $g_books, $g_
29、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_character_data_handler( $parser, textData ); $f = fopen( 1.xml, r ); while($data
30、= 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 Herrington Podcasting Hacks OReilly 作者 标题 出版者 php读取: $doc = new DOMDocument();
31、 $doc-load( 1.xml); $books = $doc-getElementsByTagName( book ); foreach( $books as $book ) $authors = $book-getElementsByTagName( author ); $author = $authors-item(0)-nodeValue; $publishers = $book-getElementsByTagName( publisher ); $publisher = $publishers-item(0)-nodeValue; $titles = $book-getElem
32、entsByTagName( 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 = Podcasting Hacks,author = Jack Herrington,publisher = OReilly);$doc = new DOMDo
33、cument();$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( $bookauthor );$b-appendChild( $author );$title = $doc-createElement( tit
34、le );$title-appendChild($doc-createTextNode( $booktitle );$b-appendChild( $title );$publisher = $doc-createElement( publisher );$publisher-appendChild($doc-createTextNode( $bookpublisher );$b-appendChild( $publisher );$r-appendChild( $b );echo $doc-saveXML();echo $doc-save(222.xml); SimpleXMLxml: Jack Herrington PHP Hacks