九个你必须知道而且又很好用的php函数和特点
九个你必须知道而且又很好用的 数和特点下面是九个 很有用的功能,不知道你用过了吗? 1. 函数的任意数目的参数 你可能知道 许你定义一个默认参数的函数。但你可能并不知道 允许你定义一个完全任意的参数的函数 下面是一个示例向你展示了默认参数的函数: 复制代码代码如下: // 两个默认参数的函数 '', $ '') { $n"; $n"; } '; /* 输出: (); /* 输出: */ 现在我们来看一看一个不定参数的函数,其使用到了 方法: 复制代码代码如下: // 是的,形参列表为空 { // 取得所有的传入参数的数组 $ ; $k => $v) { ($k+1).": $v/n"; } } ; /* 什么也不会输出 */ ; /* 输出 */ ' '; /* 输出 () 查找文件 很多 函数都有一个比较长的自解释的函数名,但是,当你看到 的时候,你可能并不知道这个函数是用来干什么的,除非你对它已经很熟悉了。 你可以认为这个函数就好 一样,其可以用来查找文件。 复制代码代码如下: // 取得所有的后缀为 文件 $ *; /* 输出: [0] => 1] => 2] => 3] => */ 你还可以查找多种后缀名 // 取 件和 件 $ *.{, /* 输出: [0] => 1] => 2] => 3] => 4] => 5] => */ 你还可以加上路径: 复制代码代码如下: $ ../a*; /* 输出: [0] => ../1] => ../ */ 如果你想得到绝对路径,你可以调用 函数: 复制代码代码如下: $ ../a*; // to $ /* [0] => C:/1] => C:/ */ 3. 内存使用信息 观察你程序的内存使用能够让你更好的优化你的代码。 有垃圾回收机制的,而且有一套很复杂的内存管理机制。你可以知道你的脚本所使用的内存情况。要知道当前内存使用情况,你可以使用 函数,如果你想知道使用内存的峰值,你可以调用 函数。 复制代码代码如下: "." n"; /* 输出 361400 ($i = 0; $i $]= i); } // 删除一半的内存 $i = 0; $i i]); } "." n"; /* 885912 ""." n"; /* 输出峰值 13687072 () 函数可以让你知道 使用情况。注意,这个功能在 不可用。 复制代码代码如下: ); /* 输出 [=> 0 [=> 0 [=> 2 [=> 3 [=> 12692 [=> 764 [=> 3864 [=> 94 [=> 0 [=> 1 [=> 67 [=> 4 [=> 0 [=> 0 [=> 0 [=> 6269 [=> 0 ) */ 这个结构上看很晦涩,除非你对 了解。下面一些解释: 块输出操作 块输入操作 发送的 收到的 最大驻留集大小 全部共享内存大小 部非共享内存大小 页回收 页失效 收到的信号 主动上下文切换 被动上下文切换 交换区 用户态时间 (用户态时间( 系统内核时间 (系统内核时间?(要看到你的脚本消耗了多少 们需要看看“ 用户态的时间”和“ 系统内核时间”的值。秒和微秒部分是分别提供的,您可以把微秒值除以 100 万,并把它添加到秒的值后,可以得到有小数部分的秒数。 复制代码代码如下: // ); $ ; ". ($ + $ / 1000000); ". ($ + $ / 1000000); /* 输出 0 */ 不占用系统时间的,我们可以来看下面的一个例子: 复制代码代码如下: // 0 i=0;$i } $ ; ". ($ + $ / 1000000); ". ($ + $ / 1000000); /* 输出 ,几乎所有的都是用户的时间,因为没有系统调用。 系统时间是 费在系统调用上的上执行内核指令的时间。下面是一个例子: 复制代码代码如下: $ // - $ } $ ; ". ($ + $ / 1000000); ". ($ + $ / 1000000); /* 。 5. 系统常量 供非常有用的系统常量 可以让你得到当前的行号 (__文件 (__目录 (__函数名 (__类名(__方法名(__和名字空间 (__很像 C 语言。 我们可以以为这些东西主要是用于调试,当也不一定,比如我们可以在 它文件的时候使用?__当然,你也可以在 后使用 __,下面是一个例子。 复制代码代码如下: // is to s ('; // is to s (_. '/; 下面是使用 __输出一些 信息,这样有助于你调试程序: 复制代码代码如下: // (" __ /* 输出 : (" __ /* 输出 1: ($${ $n"; } D 有很多人使用 来生成一个唯一的 下所示: // . ,1000000)); 其实,有一个叫 的函数是专门用来干这个的: 复制代码代码如下: // ; /* 输出 4(); /* 输出 4,这是因为生成器依赖于系统的时间,这其实是一个非常不错的功能,因为你是很容易为你的这些 序的。这点 做不到的。 你还可以加上前缀避免重名: 复制代码代码如下: // 前缀 ; /* 输出 ('', /* 输出 (' /* 输出 ,生成出来的 比 成的要短,这会让你节省很多空间。 7. 序列化 你是否会把一个比较复杂的数据结构存到数据库或是文件中?你并不需要自己去写自己的算法。已为你做好了,其提供了两个函数: 和 : 复制代码代码如下: // 一个复杂的数组 $ ' 42, ,', '); // 序列化 $ * 输出 a:4:{i:0;s:5:"i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"}i:3;s:5:"} */ // 反序例化 $ /* 输出 [0] => [1] => 42 [2] => [0] => 1 [1] => [3] => */ 这是 原生函数,然而在今天 来越流行,所以在 后,始支持 可以使用 和 函数 复制代码代码如下: // a ' 42, ,', '); // to a * "42,[1,"," */ // /* [0] => 1] => 42 [2] => [0] => 1 [1] => [3] => ) */ 这看起来更为紧凑一些了,而且还兼容于 其它语言。但是对于一些非常复杂的数据结构,可能会造成数据丢失。 8. 字符串压缩 当我们说到压缩,我们可能会想到文件压缩,其实,字符串也是可以压缩的。供了 和 函数: 复制代码代码如下: $ "ut id mi ac eu a, a In id mi at in at in in eu Ut eu id "; $ ". "/n"; /* 输出原始大小 800 */ ". "/n"; /* 输出压缩后的大小 418 */ // 解压缩 $ 几乎有 50% 压缩比率。同时,你还可以使用 和 函数来压缩,只不用其用了不同的压缩算法。 9. 注册停止函数 有一个函数叫做 ,可以让你在整个脚本停时前运行代码。让我们看下面的一个示例: 复制代码代码如下: // // do "". (- $ " ; 上面这个示例只不过是用来计算某个函数运行的时间。然后,如果你在函数中间调用 函数,那么你的最后的代码将不会被运行到。并且,如果该脚本在浏览器终止(用户按停止按钮) ,其也无法被运行。 而当我们使用了 后,你的程序就算是在脚本被停止后也会被运行: 复制代码代码如下: $ ; // do () { ". (- $ " ; } 间 新浪微博 腾讯微博 搜狐微博 人人网 开心网 百度搜藏更多 数 特点 复制链接收藏本文打印本文关闭本文返回首页 上一篇:怎样使用 置和读取 一篇:限级分类,超级简单的无限级分类,支持输出树状图 相关文章 2014$_使用方法及注意事项说明 2009证码制作(网树注释思想)2011 象转化为友好时间显示的实现代码 2007 术发送邮件的函数 2011定 数后,在 设置 效的解决方法 2006符串操作入门教程 2013析 动运行的方法 2006置心得包含 码解决 2013取字符串并保留完整 签的函数代码 2014E 中下载附件问题解决方法 文章评论 最 近 更 新 浅析关于 运算的简单权限设计 断远程图片是否存在的几种方法 误 题表和回帖表的设计 问题境变量设置方法 录下不应该存在多余的程序 (安全考虑 的常用操作小结用 网址字符串转换成超链接 (网址或 关于 点 排 行 数使用方法 面跳转到另一个页面的多种 符串截取问题置文件详解 (配置)火车头采集器 集图文教程 现 详细的 明安装教程 和 和(换使用与 ,,