php 不等于 的函数吗,PHP不常见的函数整理
下面为大家带来一篇 PHP不常见的函数整理。下面就为你详细讲解一下,希望对您的学习PHP有所帮助。
sys_getloadavg()
这个函数返回当前系统的负载均值信息(当然 Windows 下不适用),详细文档可以翻阅 PHP 的相关文档。文档中有段示例代码,基本上也就能看出它的用途了。
$load = sys_getloadavg();
if ($load[0] > 80) {
header('HTTP/1.1 503 Too busy, try again later');
die('Server too busy. Please try again later.');
}
PS,如果“很不幸”得你的 PHP 环境中没有这个函数,可以考虑使用下面这段代码 via
if (!function_exists('sys_getloadavg')) {
function sys_getloadavg()
{
$loadavg_file = '/proc/loadavg';
if (file_exists($loadavg_file)) {
return explode(chr(32),file_get_contents($loadavg_file));
}
return array(0,0,0);
}
}
这一特性如果使用得当,能减轻服务器部分压力。
pack()
pack 对应的还有个函数为 unpack,用于压缩二进制串,文中的作者的示例非常清楚
$pass_hash = pack("H*", md5("my-password"));
如果你使用 PHP5,那么可以直接这样子
$pass_hash = md5("my-password", true); // PHP 5+这样做的好处之一是能减少串存储空间(能节省多少呢?可能又会是另篇文章了)。
这里还有个示例代码可以 pack 数组 via
function pack_array($v,$a) {
return call_user_func_array(pack,array_merge(array($v),(array)$a));
}
cal_days_in_month()
该函数可以直接返回指定月份中的天数,例如
$days = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y")); // 31我敢保证,你自己实现过类似功能的函数 :^)
_()
呃,这的确也是个 PHP 函数(也有可能是最短的 PHP 内置函数)。_() 是它的“小名”,它的大名是 gettext()。
写过 Wordpress 皮肤的朋友会了解 __() 以及 _e() 这些函数,其实 PHP 早已经自带了相关的功能。
// Set language to German
setlocale(LC_ALL, 'de_DE');
// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");
// Choose domain
textdomain("myPHPApp");
echo _("Have a nice day");
利用 gettext 可以编写多语言的应用,现在您感兴趣的可能就是如何编写 locale 文件,这但已经不是此文涉及的重点,更多信息可以移步到这里。
get_browser()
坦白讲,见到这个函数我当时就彻底泪奔。有了这个函数,再也不用自己去分析 $_SERVER['HTTP_USER_AGENT'] 这个字符串了。
更多的信息可以参考这里。在使用此函数前,你可能需要个 browscap.ini 配置文件,相信你可以搞定的。
debug_print_backtrace()
以前查看函数调用堆栈,我会使用 xdebug 等的扩展,其实 PHP5 版本以后已经内置了相关的函数。
顺便再分享个“蛋疼”的小技巧,如果你记不住这个函数的名字,可以用这段代码同样能达到目的(看起来还是记住那个函数靠谱):
$e = new Exception();
print_r(str_replace('/path/to/code/', '', $e->getTraceAsString()));natsort()
这个函数用于自然排序,这个大家可能都要用到。贴下相关的文档链接以及示例代码
$items = array("100 apples", "5 apples", "110 apples", "55 apples");
// normal sorting:
sort($items);
print_r($items);
# Outputs:
# Array
# (
# [0] => 100 apples
# [1] => 110 apples
# [2] => 5 apples
# [3] => 55 apples
# )
natsort($items);
print_r($items);
# Outputs:
# Array
# (
# [2] => 5 apples
# [3] => 55 apples
# [0] => 100 apples
# [1] => 110 apples
# )有关自然排序的算法规则,可以参考这里的文档。
glob()
这个函数的功能同样让人感到泪奔,先不说功能直接上示例代码
foreach (glob("*.php") as $file) {
echo "$file\n";
}
相比你已经了解该函数的用途了,那么我们就可以有更多的“玩法”,例如就显示目录(via):
$dirs = array_filter(glob($path.'*'), 'is_dir');
当然,文件递归你也可以考虑使用下 SPL 扩展。
补充 by 神仙:
glob 有个参数选项 GLOB_ONLYDIR 就可以只列目录PHP Filter
如果你还在正则验证字符串,那么就真的“Out”了。自 PHP5.2 版本以后,内置了 PHP Fliter 模块用于专门验证 电子邮件、URL 等是否合法,示例代码:
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
由于是新生的模块,因此还有很多的陷阱,例如
filter_var('abc', FILTER_VALIDATE_BOOLEAN); // bool(false)
filter_var('0', FILTER_VALIDATE_BOOLEAN); // bool(false)
但这不影响我们去尝试。有关 PHP Filter 的更多信息,相信能拎出来另外写篇文章了。
-- Split --
最后,感叹 PHP 其实是个历久弥新的工具,不小心我们就会悲剧性得重复造了只轮子。因此,时常看看 PHP 文档每次都会有新的收获。
以上就是关于 PHP不常见的函数整理 的内容,希望已经解决你的问题。
延伸阅读:
·PHP实用的21个函数代码片段
·PHP十个有用的函数
·php函数preg_replace使用c#重写
·PHP函数file_get_contents(打开URL获得网页内容)简单用法
·浅析PHP函数mysql_affected_rows()与mysql_num_rows()分别
·PHP函数isset与array_key_exists的区别
·php函数serialize()与unserialize()说明及案例
·php函数str_replace中的单引号和双引号的区别
·php函数session_id()使用介绍
·php函数is_null、empty、isset的区别
·PHP函数exec和shell_exec分别
·php函数serialize()与unserialize()示例
·PHP函数gzcompress、gzdeflate、gzencode使用示例
·PHP函数addslashes和mysql_real_escape_string二者介绍
·php函数参数中设置和使用默认值示例
php 不等于 的函数吗,PHP不常见的函数整理相关推荐
- hive的UDF函数的使用。常见UDF函数
UDF的话一般是hive提供的函数功能满足不了业务需要,我们就会自己来写UDF函数来辅助完成,对于我们常用的函数而言还是哪些常见的聚合函数,如:count.sum.avg.max.min等,其他的话就 ...
- java 用来查找输出的函数_Solr复杂查询一:函数查询
一.简介 Solr的函数可以动态计算每个文档的值,而不是返回在索引阶段对应字段的静态数值集.函数查询是一类特殊的查询,它可以像关键词一样添加到查询中,对所有文档进行匹配并返回它们的函数计算值作为文档得 ...
- MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据
1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...
- python函数装饰函数_Python精进-装饰器与函数对象
本文为<爬着学Python>系列第四篇文章. 从本篇开始,本专栏在顺序更新的基础上,会有不规则的更新. 在Python的学习与运用中,我们迟早会遇到装饰器,这个概念对于初识装饰器的新手来说 ...
- python装饰器函数-Python精进-装饰器与函数对象
本文为<爬着学Python>系列第四篇文章. 从本篇开始,本专栏在顺序更新的基础上,会有不规则的更新. 在Python的学习与运用中,我们迟早会遇到装饰器,这个概念对于初识装饰器的新手来说 ...
- hive substr函数_数据分析工具篇——HQL函数及逻辑
本篇文章我们梳理一下hive常用的函数,对于hive而言,常用的函数并不是特别多,往往记住关键几个,就可以解决80%的问题,这也是大家喜欢hive的原因,那么,常用的函数有哪些呢? 时间函数 1)时间 ...
- python四大高阶函数_详谈Python高阶函数与函数装饰器(推荐)
一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首 ...
- c语言中规定,程序中各函数之间,C语言题库-函数_(参考).doc
C语言函数练习题 选择题 1.在函数的说明和定义时若没有指出函数的类型,则( A ) A: 系统自动地认为函数的类型为整型. B: 系统自动地认为函数的类型为字符型. C: 系统自动地认为函数的类型为 ...
- matlab的数学函数,matlab中常见数学函数的使用
matlab中常见数学函数的使用 MATLAB 基本知识 Matlab 的内部常数 pi 圆周率 exp(1) 自然对数的底数 e i 或 j 虚数单位 Inf 或 inf 无穷大 Matlab 的常 ...
最新文章
- 网络摄像头+net_今日 Paper | 神经网络结构搜索;视觉目标;人物识别;视频3D人体姿态估计等...
- [Xcode 实际操作]六、媒体与动画-(1)使用图形上下文按一定比例缩放图片
- SpringDataRedis对Redis的数据类型的常用操作API的使用代码举例
- python网络编程---TCP客户端
- ABAP中的F4帮助怎么用
- python取两个列表的并集、交集、差集
- 【Java】java测试--词频统计 ----IO流操作
- java 对象的初始化_java 类和对象的初始化
- atlas 力矩计算_Atlas 2.1.0 实践(2)—— 安装Atlas
- 记录一下, 破解某搜题软件
- 微信小程序tabbar图片路径问题
- lzg_ad:XPE的发布与部署步骤详解
- Allure测试报告定制化
- java路径为什么拒绝访问_为什么拒绝访问路径?
- 拼多多店铺营业执照相关问题
- NAFSM中值滤波器讲解与实现
- SpringBoot+Vue实现简单用户管理平台第一篇(后端接口设计)
- 来自学长的快乐AK题——Day8 荒地追猎
- 沧小海读《图解TCP/IP》笔记——第六章 TCP与UDP
- CS、BS架构定义(笔记)
热门文章
- golang修改文件的最后访问时间,最后修改时间
- redis 流 stream的使用总结 - 基础命令
- java基础---Calendar类
- java基础----集合之Map集合基本方法的使用以及遍历
- 307. Range Sum Query - Mutable | 307. 区域和检索 - 数组可修改(数据结构:线段树,图文详解)
- leetcode 371. 两整数之和(不用算术运算符实现两个数的加法:按位异或原理)
- 天勤数据结构:树与二叉树(图解二叉树的三种遍历方式执行流程,超详细)
- 使用Docker容器的十大误区
- C# 学生成绩管理系统 完整版
- C语言文件操作(五)将txt格式16进制编码转化为txt格式汉字