PHP里10个鲜为人知但却非常有用的函数

标签: 技术技巧 php | 发表时间:2014-01-19 16:06 | 作者:Aqee
出处:http://www.aqee.net

PHP
PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用。这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。

levenshtein()

你有没有经历过需要知道两个单词有多大的不同的时候,这个函数就是来帮你解决这个问题的。它能比较出两个字符串的不同程度。

用法:

 <?php
$str1 = "carrot";
$str2 = "carrrott";
echo levenshtein($str1, $str2); //Outputs 2

?>

Source: http://php.net/manual/en/function.levenshtein.php

get_defined_vars()

这是一个在debug调试时非常有用的函数。这个函数返回一个多维数组,里面包含了所有定义过的变量。

用法:

<?php
print_r(get_defined_vars());
?>

Source: http://php.net/manual/en/function.get-defined-vars.php

php_check_syntax()

这个函数非常的有用,可以用来检查PHP的语法是否正确。出于技术上的原因,从PHP 5.05开始,这个函数被删除了。

用法:

 <?php
$error_message = "";
$filename = "./php_script.php";
if(!php_check_syntax($filename, &$error_message)) {
   echo "Errors were found in the file $filename: $error_message";
} else {
   echo "The file $filename contained no syntax errors";
}
?>

Source: http://www.php.net/manual/en/function.php-check-syntax.php

ignore_user_abort()

这个函数用来拒绝浏览器端用户终止执行脚本的请求。正常情况下客户端的退出会导致服务器端脚本停止运行。

用法:

<?php
ignore_user_abort();
?>

Source: http://www.php.net/manual/en/function.ignore-user-abort.php

highlight_string()

当你想把PHP代码显示到页面上时, highlight_string()函数就会显得非常有用。这个函数会把你提供的PHP代码用内置的PHP语法突出显示定义的颜色高亮显示。这个函数有两个参数,第一个参数是一个字符串,表示这个字符串需要被突出显示。第二个参数如果设置成TRUE,这个函数就会把高亮后的代码当成返回值返回。

用法

 <?php
highlight_string(' <?php phpinfo(); ?>');
?>

Source: http://php.net/manual/en/function.highlight-string.php

highlight_file

这是一个非常有用的PHP函数,它能返回指定的PHP文件,并按照语法语义用高亮颜色突出显示文件内容。其中的突出显示的代码都是用HTML标记处理过的。

用法:

<?php
highlight_file("php_script.php");
?>

Source: http://www.php.net/manual/en/function.highlight-file.php

php_strip_whitespace

这个函数也跟前面的 show_source()函数相似,但它会删除文件里的注释和空格符。

用法:

<?php
echo php_strip_whitespace("php_script.php");
?>

Source: http://www.php.net/manual/en/function.php-strip-whitespace.php

get_browser

这个函数会读取 browscap.ini文件,返回浏览器兼容信息。

用法:

<?php
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser();
print_r($browser);
?>

Source: http://www.php.net/manual/en/function.get-browser.php

memory_get_usage(),memory_get_peak_usage(),getrusage()

这些函数用来获取内存和CPU使用情况, memory_get_usage()函数返回内存使用量, memory_get_peak_usage()函数返回内存使用峰值,getrusage()返回CUP使用情况,在调试PHP代码性能时,这些函数会给你提供一些有用信息。但有一点请注意,在这些函数中Window上无效。

用法:

 <?php
echo "Initial: ".memory_get_usage()." bytes \n";
echo "Peak: ".memory_get_peak_usage()." bytes \n";
$data = getrusage();
echo "User time: ".
	($data['ru_utime.tv_sec'] +
	$data['ru_utime.tv_usec'] / 1000000);
echo "System time: ".
	($data['ru_stime.tv_sec'] +
	$data['ru_stime.tv_usec'] / 1000000);

?>

gzcompress(), gzuncompress()

这两个函数用来压缩和解压字符串数据。它们的压缩率能达到50% 左右。另外的函数 gzencode() 和 gzdecode() 也能达到类似结果,但使用了不同的压缩算法。

用法:

 <?php
$string =
"Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nunc ut elit id mi ultricies
adipiscing. Nulla facilisi. Praesent pulvinar,
sapien vel feugiat vestibulum, nulla dui pretium orci,
non ultricies elit lacus quis ante. Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Aliquam
pretium ullamcorper urna quis iaculis. Etiam ac massa
sed turpis tempor luctus. Curabitur sed nibh eu elit
mollis congue. Praesent ipsum diam, consectetur vitae
ornare a, aliquam a nunc. In id magna pellentesque
tellus posuere adipiscing. Sed non mi metus, at lacinia
augue. Sed magna nisi, ornare in mollis in, mollis
sed nunc. Etiam at justo in leo congue mollis.
Nullam in neque eget metus hendrerit scelerisque
eu non enim. Ut malesuada lacus eu nulla bibendum
id euismod urna sodales. ";

$compressed = gzcompress($string);
$original = gzuncompress($compressed);

?>

你是否也想到了还有其它很有用的函数?请在评论里分享出来!

本文由 外刊IT评论网( www.aqee.net)原创发表,文章地址: PHP里10个鲜为人知但却非常有用的函数,[英文原文: 10 little known but useful PHP functions ]

你也许会喜欢这些文章:

  1. 我的PHP退役了
  2. 为什么说PHP是个集中营
  3. PHP的可变变量名
  4. PHP将死。何以为继?
  5. PHP 5.4 内置web服务器




相关 [php 人知 函数] 推荐:

PHP里10个鲜为人知但却非常有用的函数

- - 外刊IT评论网
PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用. 这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数. 你有没有经历过需要知道两个单词有多大的不同的时候,这个函数就是来帮你解决这个问题的. 它能比较出两个字符串的不同程度. 这是一个在debug调试时非常有用的函数.

PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系

- ArBing - 张宴的博客
  [文章作者:张宴 本文版本:v1.0 最后修改:2011.08.05 转载请注明原文链接:http://blog.s135.com/file_get_contents/].   有时候,运行 Nginx、PHP-CGI(php-fpm) Web服务的 Linux 服务器,突然系统负载上升,使用 top 命令查看,很多 php-cgi 进程 CPU 使用率接近100%.

关于PHP的is_a()函数执行代码的问题

- Sam - 大风起兮云飞扬
    今天看到云舒在群里贴的漏洞公告,原始的文章在.     后来查了下PHP官方的手册,这个问题是在PHP 5.3.7中更新了is_a()函数的功能. is_a()经常被用于条件判断.     在此前版本的is_a() 的第一个参数如果不是object,则会返回false,现在变成了如果不是object ,则会去执行 __autoload()函数.

8个很有用的PHP安全函数,你知道几个?

- - CSDN博客推荐文章
原文: Useful functions to provide secure PHP application. 译文:有用的PHP安全函数. 安全是编程非常重要的一个方面. 在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性. 在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道“永远不能相信那些用户输入的数据”.

PHP导出excel

- syeye - scofield PHP开发-SEO SEM
最近做一个项目,其中涉及到了数据导成excel的功能. 后来使用了 开源的 PHPExcel  http://phpexcel.codeplex.com/ 目前最新版是1.7.6. PHPExcel 可以生成 .xls 和 .xlsx (office2007). 比如设置 excel的title,keywords,description.

PHP框架 Yaf

- Le - 开源中国社区最新软件
Yaf是一个C语言编写的PHP框架,Yaf 的特点: 用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销. 所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存. 更短的内存周转周期, 提高内存利用率, 降低内存占用率. 支持全局和局部两种加载规则, 方便类库共享.

PHP RFC: 让PHP的foreach支持list

- 三马 - 风雪之隅
本文地址: http://www.laruence.com/2011/07/13/2110.html. 上个月, 终于算加入了PHP developer team, 一直以来最大的障碍就是语言, 现在想起来, 当年真应该更加认真努力的去学习英语.. 得到的第一个任务是: 解决一个feature request, 请求在allow foreach($array as list($a,$b).

PHP入门指导:如何学习PHP?

- - CSDN博客编程语言推荐文章
每个人的学习方式不同,写这篇文章的目的是分享一下自己的学习过程,仅供参考,不要一味的用别人的学习方法,找对自己有用的学习方式. 经常在某些论坛和QQ群里看到一些朋友会问“怎样才能学好PHP,怎样才能学好***语言 ”,但别人回答最多的是:从最“简单”的开始. 这个简单也许真的不简单,呵呵. 下面我想分享一下自己学习的一些过程.

PHP开发宝典-PHP基础

- - CSDN博客推荐文章
<?php echo "这是xml标记风格" ?>. <script language="php" echo "这是脚本风格" /script>. echo "这是短标记风格" ?>. 要使用短标记风格,需要将php.in中的short_open_tag 设置为true.

PHP最佳实践

- xiangqian - 阮一峰的网络日志
虽然名字叫《PHP最佳实践》,但是它主要谈的不是编程规则,而是PHP应用程序的合理架构. 它提供了一种逻辑和数据分离的架构模式,属于MVC模式的一种实践. 我觉得,这是很有参考价值的学习资料,类似的文章网上并不多,所以一边学习,一边就把它翻译了出来. 根据自己的理解,我总结了它的MVC模式的实现方式(详细解释见译文):.