分享PHP中的10个实用函数

PHP的功能越来越强大,里面有着非常丰富的内置函数。资深的PHP程序员对它们可能都很熟悉,但很多参加PHP培训的PHP初学者,仍然对一些非常有用的函数不太熟悉。这篇文章里,我们就列举10个你或许不了解但实用的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";

}

?>

2. highlight_string

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

使用方法:

<?php

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

?>

3. show_source

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

使用方法:

<?php

show_source("php_script.php");

?>

4. php_strip_whitespace

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

使用方法:

<?php

echo php_strip_whitespace("php_script.php");

?>

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

?>

6. highlight_file

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

使用方法:

<?php

highlight_file("php_script.php");

?>

7. ignore_user_abort

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

使用方法:

<?php

ignore_user_abort();

?>

8. str_word_count

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

使用方法:

<?php

echo str_word_count("Hello How Are You!");

?>

9. get_defined_vars

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

使用方法:

<?php

print_r(get_defined_vars());

?>

10. get_browser

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

使用方法:

<?php

echo $_SERVER['HTTP_USER_AGENT'];

$browser = get_browser();

print_r($browser);

?>

分享PHP中的10个实用函数的更多相关文章

  1. PHP中的10个实用函数

    1.php_check_syntax 这个函数可以用来检查特定文件中的PHP语法是否正确. <?php $error_message = ""; $filename = &q ...

  2. Jupyter 中的 10 个魔法函数

    1)%pwd 于显示Jupyter当前的工作空间. 2)%hist 显示当前Jupyter中,所有运行过的历史代码. 3)%who 显示当前Jupyter环境中的所有变量或名称. 4)%reset 删 ...

  3. Java8中那些方便又实用的Map函数

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 java8之后,常用的Map接口中添加了一些非常实用的函数,可以大大简化一些特定场景的代码编写,提升代码可读性,一 ...

  4. 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容

    [源码下载] 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 作 ...

  5. Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?

    Oracle中如何导出存储过程.函数.包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句? QQ群里有人问:如何导出一个用户下的存储过程?   麦苗答:方法有多种,可以使用DBMS_MET ...

  6. C++11 中的 Defaulted 和 Deleted 函数

    http://blog.jobbole.com/103669/ C++11 中的 Defaulted 和 Deleted 函数 2016/07/21 · C/C++, 开发 · C++ 分享到:3   ...

  7. (转载)10个实用的但偏执的Java编程技术

    10个实用的但偏执的Java编程技术 在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 作者:小峰来源:码农网|2015-09- ...

  8. 你真的会玩SQL吗?实用函数方法汇总

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  9. 你真的会玩SQL吗?实用函数方汇总

    http://www.cnblogs.com/zhangs1986/p/4917800.html 实用函数方法 由于有些知识很少被用到,但真需要用时却忘记了又焦头烂额的到处找. 现在将这些‘冷门“却有 ...

随机推荐

  1. springMVC,spring,mybatis全注解搭建框架--第一步,让框架跑起来

    自己从事java开发工作也有一年多了,自己却没有亲手搭建一个完整的框架.于是今天自己动手搭建一个,过程中遇到一些问题,倒腾了大半天终于搞定了. 现在给大家分享一下过程,自己也记录下来,以后学习参考使用 ...

  2. SpaceNet数据集

    SpaceNet数据集 SpaceNet是DigitalGlobe商业卫星公司提供的遥感图像集合,包含一些标记信息可用作机器学习研究. SpaceNet Challenge主页: https://sp ...

  3. ubuntu配置

    首先就是Ubuntu的更新源问题,需要更改,否则更新不了. 其次就是Securecrt的远程登陆问题,windows主机和ubuntu虚拟机如果能通信,要求在同一网段上,而ubuntu是动态加载,需要 ...

  4. 网络基础Cisco路由交换四

    NAT及静态转换 概述(NAT:网络地址转化) 作用: 通过将内部网络的私有ip地址翻译成全球唯一的公网ip地址, 使内部网络可以连接到互联网等外部网络上. NATA的特性 优点: 节省公有合法ip地 ...

  5. 【前端】用百度BAE和express部署自己的node后台

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/node_bae.html 百度有一个应用引擎,价格非常便宜,Java的tomcat每天4毛钱,node每天2毛钱, ...

  6. 使用sql语句获取数据库表的信息

    下面的sql语句可以查看表的信息.其中modify_date和create_date可以根据表的修改时间来查看.如果不需要删除后,就能看到所有表的字段信息 ) PERCENT d.name AS 表名 ...

  7. BIOS简介

    BIOS简介: BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".其实,它是一组固化到计 ...

  8. AM335x(TQ335x)学习笔记——触摸屏驱动编写

    前面几篇文章已经通过配置DTS的方式完成了多个驱动的移植,接下来我们解决TQ335x的触摸驱动问题.由于种种原因,TQ335x的触摸屏驱动是以模块方式提供的,且Linux官方内核中也没有带该触摸屏的驱 ...

  9. (三十一)java多线程二

    因为线程在执行的过程中具有一定的不确定性,在并发的时候就会出现安全问题,因此一般需要采取一定的措施来保证线程的安全,同步代码块就是其中一种方式. 以下是模拟银行取钱的多线程小例子,两个都能确保安全,但 ...

  10. Java之CyclicBarrier使用,任务等待

    1.类说明: 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 Cycl ...