10个不太为人所知的,但实用的PHP函数

您的评价:
     
较差
 收藏该经验    

PHP拥有非常丰富的内置函数,并且大多数我们是知道的。有许多功能,这些功能不是很出名,但真的非常有用。在这篇文章中,我已经列出并解释了一些鲜为人知的,但真正有用的PHP函数。

php_check_syntax

这是一个非常有用的功能,用于检查一个指定文件的语法。

用法:

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

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

highlight_string

该highlight_string()函数可以让我们在Web页面上展示语法高亮的PHP代码。这个函数利用内置的语法高亮功能对给定的PHP代码进行语法着色,并返回结果。

用法:

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

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

show_source

show_source() 函数的功能与上面介绍的 highlight_file () 相似。可以对一个给定的PHP文件进行语法着色。语法高亮使用HTML标记。运行成功返回TRUE,失败返回FALSE。

用法:

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

来源: http://www.php.net/manual/en/function.show-source.php

php_strip_whitespace

如前所述,与show_source()函数类似。此函数也是返回特定文件源代码。但是删除了PHP注释和空白的源代码。

用法:

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

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

__halt_compiler

此函数用于停止编译器的执行。这对于在PHP脚本中嵌入数据很有用,如安装文件。

用法:

1
2
3
4
5
6
7
<?php
$fp fopen(__FILE__'r');
fseek($fp, __COMPILER_HALT_OFFSET__);
var_dump(stream_get_contents($fp));
// the end of the script execution
__halt_compiler();
?>

来源: http://www.php.net/manual/en/function.halt-compiler.php

highlight_file

这是一个非常的PHP函数返回带PHP语法高亮显示特定PHP文件。

用法:

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

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

ignore_user_abort

此功能可用于客户端ABOT脚本。客户端将中止导致脚本停止运行。

用法

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

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

str_word_count

这个函数是用来计算在字符串中找到词的数量。

用法:

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

来源: http://php.net/manual/en/function.str-word-count.php

get_defined_vars

这是一个方便的功能,调试时。该函数能够返回一个包含所有定义的变量列表的多维数组。

用法:

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

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

get_browser

这个函数会查找查找browscap.ini文件并返回浏览器的性能。

用法:

1
2
3
4
5
<?php
echo $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser();
print_r($browser);
?>

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

10个不太为人所知的,但实用的PHP函数的更多相关文章

  1. Windows 10预装应用太多?一个命令删除!

    Windows 10预装了很多应用软件,虽然有些其实也不难用,但是使用率可能比较低,很多人也不喜欢预装的东西,而且还占空间,那么这些预装的如何彻底清除呢? 其实微软是自带了命令可以执行这样的操作,用它 ...

  2. mysql5.7.10和mysql5.5.39两个版本对于group by函数的处理差异

    原理还是没有搞清楚,在官网上看了一下,看的不是很清楚.一并都记录一下. 问题描述: 存在如下数据结构 sql: 求用户最近更新的那条记录 思路: 按照modify_time排序后按照user_id分组 ...

  3. 【校招面试 之 C/C++】第10题 C++不在构造函数和析构函数中调用虚函数

    1.不要在构造函数中调用虚函数的原因 在概念上,构造函数的工作是为对象进行初始化.在构造函数完成之前,被构造的对象被认为“未完全生成”.当创建某个派生类的对象时,如果在它的基类的构造函数中调用虚函数, ...

  4. 警惕!Python 中少为人知的 10 个安全陷阱!

    作者:Dennis Brinkrolf 译者:豌豆花下猫@Python猫 原题:10 Unknown Security Pitfalls for Python 英文:https://blog.sona ...

  5. 【转】Eclipse快捷键 10个最有用的快捷键

    转载地址:http://www.open-open.com/bbs/view/1320934157953 Eclipse中10个最有用的快捷键组合  一个Eclipse骨灰级开发者总结了他认为最有用但 ...

  6. 转:Eclipse快捷键 10个最有用的快捷键

    Eclipse快捷键 10个最有用的快捷键 Eclipse中10个最有用的快捷键组合  一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代 ...

  7. Eclipse中10个最有用的快捷键组合

    Eclipse中10个最有用的快捷键组合 (转) 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. ...

  8. Eclipse快捷键 10个最有用的快捷键

    Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升. 1. ...

  9. 10个你必须掌握的Linux超酷VI命令技巧

    大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. 在使用 ...

随机推荐

  1. 推荐:移动端前端UI库—Frozen UI、WeUI、SUI Mobile

    Frozen UI 自述:简单易用,轻量快捷,为移动端服务的前端框架. 主页:http://frozenui.github.io/ 开发团队:QQVIP FD Team Github:https:// ...

  2. Java Hour 26 Execution

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 26 Hours. Java 虚拟机启动的时候加载一个指定的类然后调用该类中的 ...

  3. PowerDesigner破解

    1.从百度云盘下载:我的网盘 -- 开发工具空间 -- PowerDesgner12   2.安装powerDesigner   3.将Sybase.PowerDesigner.v12.5-Crack ...

  4. mysql事务处理的意义

    MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关 1.MyISAM:不支持事务,用于只读程序提高性能 .InnoDB:支持ACID事务.行级锁.并发 .Berkeley DB:支 ...

  5. 复制表结构和数据SQL语句

    select * into 目标表名 from 源表名 insert into 目标表名(fld1, fld2) select fld1, 5 from 源表名 以上两句都是将 源表 的数据插入到 目 ...

  6. 【JNI】C分支

    public class MainActivity extends Activity { static{ System.loadLibrary("hello"); } @Overr ...

  7. LoadRunner字符串与参数的操作及转换技巧

    刚开始学LR时,经常搞不清楚变量和参数的区别与用法,最近在一次脚本编写中,整理出来的一些小技巧,与大家一起分享. //字符串复制 strcpy(str,"Hello ") ; // ...

  8. WireShark抓包过程

    wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了. 为了安全考虑 ...

  9. 水题 ZOJ 3869 Ace of Aces

    题目传送门 水题,找出出现次数最多的数字,若多个输出Nobody //#include <bits/stdc++.h> //using namespace std; #include &l ...

  10. BZOJ3488 : [ONTAK2010]Highways

    对于询问(x,y),恰经过一条非树边且不经过树上两点间路径的路径数为: ·若x与y成祖先-孩子关系,假设y是x的祖先,z是y到x方向的第一个节点,则 ans=起点在x的子树里,且终点不在z的子树里的非 ...