php重要知识点总结PHP网络开发必背.doc
《php重要知识点总结PHP网络开发必背.doc》由会员分享,可在线阅读,更多相关《php重要知识点总结PHP网络开发必背.doc(28页珍藏版)》请在咨信网上搜索。
. . PHP开发必用知识点总结,函数一览,开发必背 魔术方法 __construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。 __destruct() 当删除一个对象或对象操作终止的时候,调用该方法。 __get() 当试图读取一个并不存在的属性的时候被调用。 __set() 当试图向一个并不存在的属性写入值的时候被调用。 __call() 当试图调用一个对象并不存在的方法时,调用该方法。 __toString() 当打印一个对象的时候被调用 __clone() 当对象被克隆时,被调用 __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 $_ENV 执行环境提交至脚本的变量 $_GET $_POST $_REQUEST $_FILES $_COOKIE $_SESSION $_GLOBALS 输出 echo //Output one or more strings print //Output a string print_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_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/0 error_reporting(E_ALL) 显示所有错误 error_reporting(0) trigger_error("Cannot divide by zero", E_USER_ERROR); try { throw new Exception("执行失败"); } catch (Exception $ex) { echo $ex; } 字符串处理 string trim("eee ") trim ('ffffe','e') //ltrim rtrim array explode(".", "fff.ff.f") 按指定字符切割 string implode(".", $array) 别名:join 把数组值数据按指定字符连接起来 array str_split("eeeeeeee",4) 按长度切割字符串 array split("-","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后的字符串 //别名:strchr int 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", array("hello" => "hi")) 把'hello'转换成'hi' string 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_BOTH string 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] ) 返回路径中的文件名局部 string dirname ( string path ) $_SERVER[PHP_SELF] 返回路径中的目录局部 string nl2br("foo isn't\n bar") "foo isn't<br> bar" 把换行转成<br> 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 的字符全部转换为大写的 string ucfirst ($str) * 将字符串 $str 的第一个单词的首字母变为大写。 string ucwords($str) * 将字符串 $str 的每个单词的首字母变为大写。 string addslashes("I'm") I\'m 使用反斜线引用字符串 这些字符是单引号〔'〕、双引号〔"〕、反斜线〔\〕与 NUL〔NULL 字符〕 string stripcslashes("I\'m") I'm 将用addslashes()函数处理后的字符串返回原样 strip_tags("<p>tt</p>", '<p>') 去除html、xml、php标记,第二个参数用来保存标记 string urlencode(string str) string urldecode(string str) string htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES) 转换特殊字符为HTML字符编码 <a href='test'>Test</a> ENT_PAT –对双引号进展编码,不对单引号进展编码 ENT_QUOTES –对单引号和双引号进展编码 ENT_NOQUOTES –不对单引号或双引号进展编码 string htmlentities('<p>ff</p>', ENT_QUOTES) 转换特殊字符为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,将一个或多个单元压入数组的末尾〔入栈〕,第二个参数开场就是压入的数据 void 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_bine ( array keys, array values ) 创立一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 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 )计算数组中所有值的和 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]] ) 返回数组中所有的键名 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 &array )将数组最后一个单元弹出〔出栈〕 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]] ) 从数组中将变量导入到当前的符号表 array pact ( 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 [, int 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 funame [, mixed userdata] ) 对数组中的每个成员应用用户函数 array array_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() 检查变量是否存在,并判断值是否为非空或非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 strReplace($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 ($content as $key=>$value) { $content[$key] = addslashes($value); } } else { //如果$content不是数组,那么就仅处理一次 addslashes($content); } } //返回$content return $content; } smarty 模板引擎将不分析 <!--{literal}--> <script> function t() { } </script> <!--{/literal}--> 读取配置文件 <!--{config_load file="config.s"}--> <!--{#site_url#}--> <!--{$smarty.config.site_url}--> 引入文件 <!--{include file="index2.html"}--> <!--{include_php file="/path/to/load_nav.php"}--> $trusted_dir 指定目录下的文件 捕获模板输出的数据 <!--{capture name='eee'}--> fffffffff <!--{/capture}--> <!--{$smarty.capture.eee}--> 循环 <{section name=loop loop=$News_IN}> <{$News_IN[loop].NewsID}> <{/section}> <!--{section name=t loop=$data}--> <tr> <td><!--{$data[t].username}--></td> </tr> <!--{/section}--> <{foreach from=$newsArray item=newsID key=k}> 新闻编号:<{$newsID.newsID}><br> 新闻内容:<{$newsID.newsTitle}><br><hr> <{/foreach}> 判断 <!--{if true}--> 1111 <!--{else}--> 22222222 <!--{/if}--> 时间 {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} %Y年%m月%d日 乱码 <!--{$smarty.now|date_format:"%Y年%m月%d日 %H时%M分%S秒"}--> 修改插件:plugins/modifier.date_format.php $format = mb_convert_encoding($format,'gbk','utf-8'); return mb_convert_encoding(strftime($format, $timestamp),'utf-8','gbk'); 局部不缓存 html: <!--{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}--> <!--{cacheless a="aaa" b="bbbb"}--> <!--{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}--> <!--{/cacheless}--> php: $smarty->register_block('cacheless', 'smarty_block_dynamic', false);//true:缓存,false:不缓存 function smarty_block_dynamic($param, $content, &$smarty) { return $content; } php: function insert_kk()//方法名前必须有"insert" { return date('Y-m-d H:i:s'); } html: <!--{insert name="kk"}--> 自定义方法 注册方法 php $smarty->register_function('test1', 'test'); function test($p) { return 'ffffffffff'; } html: <!--{test1 name="ff"}--> ------------------------------------------------ 方法自定义 插件文件方式定义方法 function.test.php 文件存在plugins目录下,方法名:smarty_function_test($params, &$smarty) function smarty_function_test($params, &$smarty) { return 'fff'; } html调用: <!--{test name='aa' p='ff'}--> ---------------------------------------------------- 插入方法 插件文件:insert.kk.php文件存于plugins目录下 function smarty_insert_kk() { return date('Y-m-d H:i:s'); } php: function insert_kk()//方法名前必须有"insert" { return date('Y-m-d H:i:s'); } html: <!--{insert name="kk"}--> ------------------------------------------------- 管道符自定义方法 插件文件方式定义方法 modifier.test.php 文件存在于plugins目录下,方法名: function smarty_modifier_test($str, $str2) function smarty_modifier_test($str, $str2) { return $str.$str2; } html调用: <!--{'ff'|test:'tt'}--> php: function eee($a) { return 'ffffffffffffff'; } html: <!--{''|eee}--> 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 == 0 is [not] odd是否为奇 $a is not odd by $b即($a / $b) % 2 != 0 XML sax xml: <--?xml version="1.0" encoding="utf-8"?--> <books> <book> <author>Jack Herrington</author> <title>PHP Hacks</title> <publisher>O'Reilly</publisher> </book> <book> <author>Jack Herrington</author> <title>Podcasting Hacks</title> <publisher>O'Reilly</publisher> </book> <book> <author>作者</author> <title>标题</title> <publisher>出版者</publisher> </book> </books> 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_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 = fread( $f, 4096 )) { xml_parse( $parser, $data ); } xml_parser_free( $parser ); foreach( $g_books as $book ) { echo $book['TITLE']." - ".$book['AUTHOR']." - "; echo $book['PUBLISHER']."<br>"; } DomDocument() xml: <--?xml version="1.0" encoding="utf-8"?--> <books> <book> <author>Jack Herrington</author> <title>PHP Hacks</title> <publisher>O'Reilly</publisher> </book> <book> <author>Jack Herrington</author> <title>Podcasting Hacks</title> <publisher>O'Reilly</publisher> </book> <book> <author>作者</author> <title>标题</title> <publisher>出版者</publisher> </book> </books> 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( "publisher" ); $publisher = $publishers->item(0)->nodeValue; $titles = $book->getElementsByTagName( "title" ); $title = $titles->item(0)->nodeValue; echo "$title - $author - $publisher<br>"; } php生成: $books = array(); $books [] = array( 'title' => 'PHP Hacks', 'author' => 'Jack Herrington', 'publisher' => "O'Reilly" ); $books [] = array( 'title' => 'Podcasting Hacks', 'author' => 'Jack Herrington', 'publisher' => "O'Reilly" ); $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( $book['author'] )); $b->appendChild( $author ); $title = $doc->createElement( "title" ); $title->appendChild($doc->createTextNode( $book['title'] )); $b->appendChild( $title ); $publisher = $doc->createElement( "publisher" ); $publisher->appendChild($doc->createTextNode( $book['publisher'] )); $b->appendChild( $publisher ); $r->appendChild( $b ); } echo $doc->saveXML(); echo $doc->save('222.xml'); SimpleXML xml: <books> <book> <author>Jack Herrington</author> <title>PHP Hacks- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- php 重要 知识点 总结 网络 开发
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文