鲜为人知但会让你眼睛一亮的10个php函数

 

 

PHP 里有非常丰富的内置函数,很多我们或许都用过,但仍有很多的函数我们大部分人并不是很熟悉,可它们十分有用,可能让你眼前一亮。这篇文章里,今天看啥就列举了一些鲜为人知但十分好用的 PHP内置 函数。

 

levenshtein()

levenshtein() 函数返回两个字符串之间的 Levenshtein 距离。

Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

例如把 kitten 转换为 sitting:

  1. sitten (k→s)
  2. sittin (e→i)
  3. sitting (→g)

levenshtein() 函数给每个操作(替换、插入和删除)相同的权重。不过,您可以通过设置可选的 insert、replace、delete 参数,来定义每个操作的代价。

 

用法:

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

?>

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

get_defined_vars()

此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。

 

用法:


<?php
$b = array(1,1,2,3,5,8);
$arr = get_defined_vars();
// 打印 $b
print_r($arr["b"]);
// 打印 PHP 解释程序的路径(如果 PHP 作为 CGI 使用的话)
// 例如:/usr/local/bin/php
echo $arr["_"];
// 打印命令行参数(如果有的话)
print_r($arr["argv"]);
// 打印所有服务器变量
print_r($arr["_SERVER"]);
// 打印变量数组的所有可用键值
print_r(array_keys(get_defined_vars()));
?>

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

php_check_syntax()

php_check_syntax检查PHP的语法(并执行)指定的文件。因为某些技术原因,该函数已被弃用,并且从PHP中移除了。请以commandline使用 php -l somefile.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";
}
?>

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

ignore_user_abort()

ignore_user_abort() 函数设置与客户机断开是否会终止脚本的执行。 本函数返回 user-abort 设置的之前的值(一个布尔值)。 。

用法:

<?php
ignore_user_abort();
?>

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

highlight_string()

本函数通过使用 PHP 语法高亮程序中定义的颜色,输出或返回给定的 PHP 代码的语法高亮版本。

返回值

如果 return 参数被设置为 true,那么该函数会以字符串返回被高亮处理的代码,而不是输出它们。否则,若成功,则返回 true,失败则返回 false。

 

用法

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

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

highlight_file

本函数通过使用 PHP 语法高亮程序中定义的颜色,输出或返回包含在 filename 中的代码的语法高亮版本。

许多服务器被配置为对带有 phps 后缀的文件进行自动高亮处理。例如,在查看 example.phps 时,将显示该文件被语法高亮显示的源代码。要启用该功能,请把下面这一行添加到 httpd.conf

AddType application/x-httpd-php-source .phps

 

用法:

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

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

php_strip_whitespace

这个函数也跟前面的show_source()函数相似,但它会删除文件里的注释和空格符。strip_whitespace() 函数返回已删除 PHP 注释以及空白字符的源代码文件。该函数对于检测脚本中的实际代码量很有用。

用法:

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

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

get_browser

get_browser() 返回用户浏览器的性能。检查浏览器的兼容问题

用法:

<?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() 也能达到类似结果,但使用了不同的压缩算法。要注意与gzdeflate的区别,两个都可以压缩,算法不一样,表现出来的差别是浏览器支持不相同,有的浏览器只识别gzdeflate压缩的页面,有的浏览器只认识gzcompress

用法:

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

?>

这10个在实际的应用中很有用,但是不是常被大家所知道,所以就编译了这篇文章,希望大家喜欢,
有更多好玩的php函数,在评论里面一起讨论吧。(编译izoro)



英文原文:10 little known but useful PHP functions 

 

kansha.bkjia.com true http://kansha.bkjia.com/translate/17.html NewsArticle 英文原文: 10 little known but useful PHP functions PHP 里有非常丰富的内置函数,很多我们或许都用过,但仍有很多的函数我们大部分人并不是很熟悉,可它们十分有用,可能让你眼前一亮。这...