PHP自带了大量的系统函数,使用这些函数可以完成大部分的任务.常用的有数学运算函数和日期时间函数.
①数学运算函数:
数学运算是程序中最常执行的功能之一,PHP提供了很多系统函数实现运算功能,无须安装、编译和配置便可以直接使用.下表列出了常用的数学函数:
函数名称
功能描述
abs()
绝对值
is_finite()
判断是否为有限值
acos()
反余弦
is_infinite()
判断是否为无限值
acosh()
反双曲余弦
is_nan()
判断是否为合法数值
asin()
反正弦
lcg_value()
组合线性同余发生器
asinh()
反双曲正弦
log10()
以10为底的对数
两个参数的反正切
log()
自然对数
atan()
反正切
max()
最大值
atanh()
反双曲正切
min()
最小值
base_convert()
在任意进制之间转换数字
mt_getrandmax()
显示随机数的最大可能值
bindec()
二进制转换为十进制
mt_rand()
生成更好的随机数
ceil()
进一法取整
mt_sran()
播下一个更好随机数种子
cos()
余弦
octdec()
八进制转换为十进制
cosh()
双曲余弦
pi()
圆周率
decbin()
十进制转换为二进制
pow()
指数表达式
dechex()
十进制转换为十六进制
将弧度转换为相应的角度值
decoct()
十进制转换为八进制
rand()
产生一个随机数
将角度转换为弧度
round()
对浮点数四舍五入
exp()
计算e的指数
sin()
正弦
floor()
舍去法取整
sinh()
双曲正弦
fmod()
返回除法的浮点数余数
sqrt()
平方根
getrandmax()
显示随机数最大的可能值
srand()
播下随机数发生器种子
hexdec()
十六进制转换为十进制
tan()
正切
hypot()
计算直角三角形的斜边长度
tanh()
双曲正切
注意:这些数学函数仅能处理计算机中integer和float范围的值.
示例:产生随机密码的的函数
{
$maxChar=strlen($dictionary); //获取字典长度
$password="";
for($i=0; $i$length; $i◆◆) //随机生成每一位
$password.=$dictionary[rand(0, $maxChar)]; //产生随机数,再从字典取字母
}
return $password;
PHP提供了丰富的日期和时间方面运算的函数.
①.)UNIX时间戳:
在PHP中使用时间戳的最简单方式就是调用time()函数,time()函数可以根据当前时间返回一个时间戳的表示法.示例:
echo "当前时间戳为:".time();
PHP提供的一些常用的日期函数.
①date()函数:
date()函数用于格式化一个本地日期和时间.语法格式为:
string date(string $format [, int $timestamp])
返回将整数$timestamp按照$format给定格式而产生的字符串.其中,$timestamp参数是可选的,如果没有给出时间戳,则使用本地当前时间,即time().
下表列出了$format格式化字符串参数的说明:
值
说明
返回值
D
Mon到Sun
J
月份中的第几天,没有前导零
L
L的小写字母,表示星期几的完整文本格式
Sunday到Saturday
N
数字表示的星期中的第几天
S
st,nd,rd或th.可以和j一起用
W
星期中的第几天,数字表示
Z
年份中的第几天
年份中的第几周,每周从星期一开始
F
月份,完整的文本格式,例如January
January到December
M
数字表示的月份,有前导零
Jan到Dec
数字表示的月份,没有前导零
t
给定月份所应有的天数
是否为闰年
如果是闰年为1,否则为0
o
年份数字
Y
y
a
小写的上午和下午值
am或pm
A
大写的上午和下午值
AM或PM
g
G
h
H
i
有前导零的分钟数
s
秒数,有前导零
e
时区标识
例如:UTC,GMT,Atlantic/Azores
I
是否为夏令时
如果是夏令时为1,否则为0
O
与格林威治时间相差的小时数
时差偏移量的秒数
c
r
U
与time()函数相同
示例:
②gmdate()函数:
gmdate()函数实现与date()函数相同的功能,不同的是gmdate()函数返回的时间是格林威治标准时间(GMT).语法格式为:
string gmdate(string $format [, int $timestamp])
③getdate()函数:
getdate()函数用于获取指定的日期和时间信息.语法格式为:
array getdate([int $timestamp])
如果没有指定时间戳$timestamp,则使用系统当前的本地时间.getdate()函数返回一个数组,数组中的每个元素代表日期和时间中的特定组成部分.下表列出了返回数组中键名的说明:
键名
返回值例子
seconds
秒的数字表示
minutes
分钟的数字表示
hours
小时的数字表示
mday
月份中的第几天的数字表示
wday
星期中的第几天的数字表示
mon
月份的数字表示
year
yday
一年中的第几天的数字表示
weekday
星期几的完整文本表示
month
月份的完整的文本表示
自从UNIX纪元开始至今的秒数
和time()的返回值类似,是一个时间戳
php
$today=getdate();
print_r($today);
printf("今天是%s年%s月%s日 星期%s \n", $today["year"], $today["mon"], $today["mday"], $today["wday"]);
printf("现在时间是%s时%s分%s秒", $today["hours"], $today["minutes"], $today["seconds"]);
执行后的结果为:
Arrar
(
[weekday]=Thursday
[month]=July
)
④checkdate()函数:
checkdate()函数用于检查一个日期是否有效,有效则返回true,否则返回false.语法格式为:
bool checkdate(int $month, int $day, int $year)
当满足如下条件时,checkdate()函数将认为是一个有效的日期:
-$day的值在给定的$month所应该具有的天数范围之内,包括闰年情况
①time()函数:
time()函数使用方法非常简单,没有参数调用后返回当前日期和时间的UNIX时间戳.语法格式为:
int time(void)
②mktime()函数:
mktime()函数的作用与time()函数相同,都可以返回一个时间戳表示的时间.不同的是,在mktime()函数中可以指定具体的日期和时间.语法格式为:
int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])
上述参数列表从右向左顺序省略,任何省略的参数会被设置为本地日期和时间的当前值.如果指定的时间无法表示,则返回false.mktime()函数在做日期计算和验证方面很有用.示例:
③strtotime()函数:
strtotime()函数用于将可阅读的英文日期/时间字符串转换成UNIX时间戳.语法格式:
int strtotime(string $time[, int $now])
其中,$time参数表示要被转换的字符串,$now表示计算返回值的时间戳.如果没有提供$now参数,将使用系统的当前时间.strtotime()函数成功时返回时间戳,否则返回false.
④microtime()函数:
microtime()函数调用后将返回当前UNIX时间戳和微秒数.语法格式为:
mixed microtime([bool $get_as_float])
这里的可选参数$get_as_float是一个布尔值,如果为true将返回一个浮点数.默认不带参数时将以"msec sec"格式返回一个字符串,其中msec是微秒部分,sec是UNIX时间戳.
sys_getloadavg()
sys_getloadavt()可以获得系
与其让服务器因负
载过高而宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的.
不过很遗憾,该函数在windows下无效.
pack()
Pack()
cal_days_in_month()
cal_days_in_month()能够返回指定月份共有多少天.
_()
WordPress开发者经常能见到这个函数,还有
_e().这两个函数功能相同,与gettext()函数结合使用,能实现网站的多语言化.具体可参见PHP手册的相关部分介绍.
get_browser()
在发送页面前先看看用户的浏览器都能做些什么是
不是挺好?get_browser()能获得用户的浏览器类型,以及浏览器支持的功能,不过首先你需要一个php_browscap.ini文件,用来给
函数做参考文件.
要注意,该函数对浏览器功能的判断是基于该类浏览器的一般特性的.例如,如果用户关闭了浏览器对
JavaScript的支持,函数无法得知这一点.但是在判断浏览器类型和OS平台方面,该函数还是很准确的.
debug_print_backtrace()
这是一个调试用的函数,能帮助你发现代码中的逻辑错误.要理
解这个函数,还是直接看个例子吧:
$a
=
0;
function
iterate()
global
$a;
if(
recur();
echo
.
",
";
recur()
$a◆◆;
//
how
did
get
here?
"\n\n\n";
debug_print_backtrace();
iterate();
#
OUTPUT:
#0
called
at
metaphone()
这个函数返回单词的metaphone值,相同读音的单词具有相同的metaphone值,也就是说这个函数可以帮你判断两个单词的读音是否
相同.不过对中文就无效了...
natsort()
natsort()能将一个数组以自然排序法
进行排列,直接看个例子吧:
$items
array(
"100
apples",
"110
apples"
);
normal
sorting:
sort($items);
print_r($items);
Outputs:
Array
[0]
①.00
apples
[1]
①.10
natsort($items);
levenshtein()
Levenshtein()
告诉你两个单词之间的"距离".它告诉你如果想把一个单词变成另一个单词,需要插入、替换和删除多少字母.
看个例子吧:
$dictionary
"php",
"javascript",
"css"
$word
"japhp";
$best_match
$dictionary[0];
$match_value
levenshtein($dictionary[0],
$word);
foreach($dictionary
as
$w)
$value
levenshtein($word,
$w);
$w;
$value;
"Did
you
mean
the
'$best_match'
category?";
①.0.
glob()
glob()会让你觉得用
opendir(),
readdir()和closedir()来寻找文件非常蠢.
foreach
(glob("*.php")
$file)
"$file\n";
PHP 用户定义函数
除了内建的 PHP 函数,我们可以创建我们自己的函数.
函数是可以在程序中重复使用的语句块.
页面加载时函数不会立即执行.
函数只有在被调用时才会执行.
在 PHP 创建用户定义函数
用户定义的函数声明以关单 "function" 开头:
语法
function functionName() {
被执行的代码;
注释:函数名能够以字母或下划线开头(而非数字).
注释:函数名对大小写不敏感.
提示:函数名应该能够反映函数所执行的任务.
在下面的例子中,我们创建名为 "writeMsg()" 的函数.打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束.此函数输出 "Hello world!".如需调用该函数,只要使用函数名即可:
function writeMsg() {
echo "Hello world!";
writeMsg(); // 调用函数
PHP 函数参数
可以通过参数向函数传递信息.参数类似变量.
参数被定义在函数名之后,括号内部.您可以添加任意多参数,只要用逗号隔开即可.
下面的例子中的函数有一个参数($fname).当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同:
function familyName($fname) {
echo "$fname Zhang.br";
familyName("Li");
familyName("Hong");
familyName("Tao");
familyName("Xiao Mei");
familyName("Jian");
下面的例子中的函数有两个参数($fname 和 $year):
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year br";
PHP 默认参数值
下面的例子展示了如何使用默认参数.如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:
echo "The height is : $minheight br";
PHP 函数 - 返回值
如需使函数返回值,请使用 return 语句:
function sum($x,$y) {
$z=$x◆$y;
return $z;
以上就是土嘎嘎小编为大家整理的是php的函数吗相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!