介绍PHP中的10个实用函数

PHP的功能越来越强大,里面有着非常丰富的内置函数。资深的PHP程序员对它们可能都很熟悉,但很多的PHP学习者,仍然对一些非常有用的函数不太熟悉。这篇文章里,我们就列举10个你或许不了解但实用的PHP函数,供大家参考和学习。

levenshtein()

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

  用法:

1
2
3
4
5
6
<?php
$str1 = "carrot";
$str2 = "carrrott";
echo levenshtein($str1, $str2); //Outputs 2
 
?>

  Source: 

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

1. php_check_syntax

这个函数可以用来检查特定文件中的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";
}
?>

参考:

  get_defined_vars()

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

  用法:

1
2
3
<?php
print_r(get_defined_vars());
?>

  Source: 

levenshtein()

2. highlight_string

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

使用方法:

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

参考: 

  php_check_syntax()

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

  用法:

1
2
3
4
5
6
7
8
9
<?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: 

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

3. show_source

这个函数的运行和highlight_file()相似,它可以显示PHP语法高亮后的文件,并且是根据HTML标签进行语法高亮的。

使用方法:

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

参考:

  ignore_user_abort()

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

  用法:

1
2
3
<?php
ignore_user_abort();
?>

  Source: 

用法:

4. php_strip_whitespace

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

使用方法:

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

参考: 

  highlight_string()

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

  用法

1
2
3
<?php
highlight_string(' <?php phpinfo(); ?>');
?>

  Source: 

复制代码 代码如下:
$str1 = “carrot”;
$str2 = “carrrott”;
echo levenshtein($str1, $str2); //Outputs 2
?>

5. _halt_compiler

它可以中止编译器的执行,这对于在PHP脚本中嵌入数据是很有帮助的,就像安装文件一样。

使用方法:

<?php
$fp = fopen(__FILE__, 'r');
fseek($fp, __COMPILER_HALT_OFFSET__);
var_dump(stream_get_contents($fp));
// the end of the script execution
__halt_compiler(); 
?>

参考:

  highlight_file

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

  用法:

1
2
3
<?php
highlight_file("php_script.php");
?>

  Source: 

get_defined_vars()

6. highlight_file

这是一个非常有用的PHP函数,它能返回指定的PHP文件,并按照语法高亮突出显示文件内容。

使用方法:

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

参考:

  php_strip_whitespace

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

  用法:

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

  Source: 

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

7. ignore_user_abort

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

使用方法:

<?php
ignore_user_abort();
?>

参考:

  get_browser

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

  用法:

1
2
3
4
5
<?<span id="6_nwp" style="width: auto; height: auto; float: none;"><a id="6_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=19&is_app=0&jk=2061f523ace1e686&k=php&k0=php&kdi0=0&luki=9&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=86e6e1ac23f56120&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F3747%2Ehtml&urlid=0" target="_blank" mpid="6" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">php</span></a></span>
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser();
print_r($browser);
?>

  Source: 

用法:
复制代码 代码如下:
print_r(get_defined_vars());
?>

8. str_word_count

这个函数可以用来统计字符串中单词的数量。

使用方法:

<?php
echo str_word_count("Hello How Are You!");
?>

参考:

  memory_get_usage(),memory_get_peak_usage(),getrusage()

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

  用法:

1
2
3
4
5
6
7
8
9
10
11
12
<?<span id="3_nwp" style="width: auto; height: auto; float: none;"><a id="3_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=19&is_app=0&jk=2061f523ace1e686&k=php&k0=php&kdi0=0&luki=9&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=86e6e1ac23f56120&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F3747%2Ehtml&urlid=0" target="_blank" mpid="3" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">php</span></a></span>
echo "Initial: ".memory_get_usage()." bytes n";
echo "Peak: ".memory_get_<span id="4_nwp" style="width: auto; height: auto; float: none;"><a id="4_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=19&is_app=0&jk=2061f523ace1e686&k=peak&k0=peak&kdi0=0&luki=1&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=86e6e1ac23f56120&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F3747%2Ehtml&urlid=0" target="_blank" mpid="4" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">peak</span></a></span>_usage()." bytes n";
$<span id="5_nwp" style="width: auto; height: auto; float: none;"><a id="5_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=19&is_app=0&jk=2061f523ace1e686&k=data&k0=data&kdi0=0&luki=8&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=86e6e1ac23f56120&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F3747%2Ehtml&urlid=0" target="_blank" mpid="5" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">data</span></a></span> = 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);
 
?>

php_check_syntax()

9. get_defined_vars

这个函数在代码调试时十分重要,它会返回一个包括所有已定义的变量的多维数组。

使用方法:

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

参考:

  gzcompress(), gzuncompress()

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

  用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?<span id="1_nwp" style="width: auto; height: auto; float: none;"><a id="1_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=19&is_app=0&jk=2061f523ace1e686&k=php&k0=php&kdi0=0&luki=9&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=86e6e1ac23f56120&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F3747%2Ehtml&urlid=0" target="_blank" mpid="1" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">php</span></a></span>
$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 <span id="2_nwp" style="width: auto; height: auto; float: none;"><a id="2_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=19&is_app=0&jk=2061f523ace1e686&k=leo&k0=leo&kdi0=0&luki=4&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=86e6e1ac23f56120&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F3747%2Ehtml&urlid=0" target="_blank" mpid="2" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">leo</span></a></span> 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 little known but useful PHP
functions

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

10. get_browser

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

使用方法:

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

参考: 

用法:
复制代码 代码如下:
$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”;
}
?>

ignore_user_abort()

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

用法:
复制代码 代码如下:
ignore_user_abort();
?>

highlight_string()

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

用法:
复制代码 代码如下:
highlight_string(”);
?>

highlight_file

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

用法:
复制代码 代码如下:
highlight_file(“php_script.php”);
?>

php_strip_whitespace

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

用法:
复制代码 代码如下:
echo php_strip_whitespace(“php_script.php”);
?>

get_browser

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

用法:
复制代码 代码如下:
echo $_SERVER[‘HTTP_USER_AGENT’];
$browser = get_browser();
print_r($browser);
?>

memory_get_usage(),memory_get_peak_usage(),getrusage()

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

用法:
复制代码 代码如下:
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()
也能达到类似结果,但使用了不同的压缩算法。

用法:
复制代码 代码如下:
$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);
?>

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注