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

来文史特距离(字符串相似性)

<?php
 $str1 = "aaa";
 $str2 = "aaab";
 echo levenshtein($str1, $str2); //输出2
 ?>

它可以计算出 字符串str1和字符串str2 之间相差几个字母。这个是php比较特色的函数,因为你用其他语言很可能要自己去实现来文史特距离的矩阵元算.

2返回所定义的所有变量的数组

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

这是一个非常有用的功能,当你想要调试你的代码,同时代码比较乱忘了定义了哪些变量。它会返回所定义的所有变量的数组。放在最后一句哦~~~

3检查你的PHP代码语法函数

<?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";
 }
 ?>

php_check_syntax 也就是这个函数。不过在php5中被弃用了,否则用php开发一个在线编译器 还是很好用的,当然你用php4也能干

4忽略来自客户端的中止请求

<?PHP
 ignore_user_abort();
 ?>

一般情况下,用户在浏览器中可以按“停止”来停止所有请求,但是这个函数可以忽略用户的操作。

5高亮语法标记

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

这个其实再做一些特定语法展现时比较有用,它自动会输出 <?php aa() ?>字符串,并显示蓝色代表高亮

6highlight_file()高亮文件内容语法标记

<?php
 highlight_file("test.php");
 //这里必须是一个存在的文件名
 ?>

这个函数会把test.php文件内容加载出来,然后把<?php。。。。 ?>里面的内容进行 高亮展示,很牛逼哦~~~

7去掉文件中的注释和空格

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

这个函数作用巨大,如果你写完test.php程序后 不想让你的2B同事偷学,你可以用这个函数把去掉注释和空格的程序输出到页面,然后再拷贝回去。好比压缩功能

8在服务器端读取客户浏览器版本信息

<?php
 echo $_SERVER['HTTP_USER_AGENT'];
 //输出常见的浏览器信息,譬如 Mozilla/5.0 (Windows NT 5.2; rv:26.0) Gecko/20100101 Firefox/26.0
 $browser = get_browser();
 print_r($browser);
 ?>

注意:browscap.ini文件 请到网上去下载最新,文件里面记录了所有已存在的浏览器的类型及其信息,并在php.ini增加文件指向配置。这个文件可以帮你比较精准的判断用户当前浏览器的版本信息

9检查性能和cpu使用效率

<?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);
 ?>

试一试便可,可以检查出你写的代码是否 蹂躏了服务器。遗憾的是这些函数不能在windows服务器上使用。(其实很正常嘛)

10压缩字符串函数

$string =
 "这里放一大堆中文字,反正很长很长很长 ";
 $compressed = gzcompress($string);//压缩
 echo $compressed; //乱码了。是gzip压缩码了
 $original = gzuncompress($compressed);
 //解压
 echo $original;//正常了

http://www.wyzc.com/php/?tg=2000709422#rd