首页 > 编程知识 正文

php之函数(PHP的函数)

时间:2023-12-24 12:05:46 阅读:320905 作者:EEEY

本文目录一览:

php常用函数

其实没必要去到处搜罗所谓的“常用函数”,所谓常用是因人而异,某人经常用某函数,但并不代表你也一定会经常使用。php函数很多,常备php的帮助手册是关键,遇到不熟的就查,查的次数多了,自然就变成“常用”了。

一般来说,字符串、数组、数据库类的函数是相对来使用比较多的类别。

以下罗列了一下函数,仅供参考一阅。

============================================

//===============================时间日期===============================

//y返回年最后两位,Y年四位数,m月份数字,M月份英文。d月份几号数字,D星期几英文

$date=date("Y-m-d");

//include,include_once.require,require_once

//require("file.php") 在PHP程序执行前就会先读入require所指定引进的文件,如出现错误是致命的。

//include("file.php") 可以放在PHP程序的任何位置,PHP程序执行到时才读入include指定引入的文件,如出现错误会提示

//===============================输出打印===============================

//sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不输出。

//printf("%d","3.2") ;//即格式化,又输出

//print("3.2") ;//只输出

//echo "nihao","aa";//可以输出多个字符串

//print_r(array("a","b","c"));//将数组的键值与元素依次显示

//===============================常用字符串函数===============================

//获取字符串长度,有多少个字符,空格也算

$str=" sdaf sd ";

$len=strlen($str);

//用第一个参数里的字符串,把后面数组里的每个元素连接起来,返回一个字符串。

$str=implode("-",array("a","b","c"));

//字符串分割方法,返回一个数组,用第一个参数里的字符分割后面的字符串,指定字符的前后和之间都截取,如果指定字符在开头或结尾则返回的数组开头或结尾的元素为空字符串

//没有分割到字符串就返回给数组对应元素一个空值。最后一个限制返回数组长度,可不限制,则一直分割下去。

$array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4);

//print_r($array);

//剔除字符串左边开头的空格,并返回

//如有第二个参数则是剔除左边开头的空格换成剔除第二个参数里的字符串

$str=ltrim("a asd ","a");

//剔除字符串右边开头的空格

$str=rtrim(" asd ");

//把第一个字符串两边以第二个参数开头的字符串剔除。如没有第二个参数,默认剔除掉字符串两边开头的空格

$str=trim(" sdsdfas ","a");

//从字符串第一个参数里的指定位置开始取多长(多少个)字符,字符串中第一个字符位置从0算。

//如果第二个参数为负则从字符串结尾倒数第几个开始取多长的字符串。结尾最后一个字符算-1,截取方向总是从左到右

$str=substr("abcdefgh",0,4);

//将第三个参数的第一个参数字符串用参数二字符串替换

$str=str_replace("a","","abcabcAbca");

//与str_replace用法同,只是不区分大小写

//$str=str_ireplace("a"," ","abcabcAbca");

//返回括号里字符串的字符全部大写的字符串

$str=strtoupper("sdaf");

//将括号里第一个字符串变成大写后返回

$str=ucfirst("asdf");

//用echo等将括号里字符串打印在网页上时原汁原味打印出括号里的字符串,包括标签字符

$str=htmlentities("br/");

//返回第二个参数字符串在第一个字符串里出现的次数

$int=substr_count("abcdeabcdeablkabd","ab");

//返回第二个字符串在第一个字符串第一次出现的位置,第一个字符位置算0

$int=strpos("asagaab","ab");

//返回第二个字符串在第一个字符串最后一次出现的位置,第一个字符位置算0

$int=strrpos("asagaabadfab","ab");

//截取返回参数一中从左至右第一个出现的参数二到参数一最后一个字符的字符串

$str=strstr("sdafsdgaababdsfgs","ab");

//截取返回参数一中从左至右最后一个出现的参数二到参数一最后一个字符的字符串

$str=strrchr("sdafsdgaababdsfgs","ab");

//将参数二中每一个字符在参数一中相同字符前加""

$str=addcslashes("abcdefghijklmn","akd");

//将参数一的字符串填充到参数二指定的长度(单字符个数),参数三为指定填充的字符串,不写默认空格

//参数四填充位置,0在参数一左侧开头填充,1右侧开头,2两边开头同时。不写默认在右侧开头填充

$str=str_pad("abcdefgh",10,"at",0);

//依次比较两字符串对应字符阿斯克码值,第一对不一样的,如果参数一里大于参数二里的返回1,反之返回-1,两字符串完全一样返回0

$int1=strcmp("b","a");

//返回第一个参数格式化后的数字格式,第二个参数为保留几个小数,参数三为将小数点换成参数三,参数四为整数部分每三位用什么字符分割

//后面三个参数都不写,则默认去掉小数部分,整数每隔三位用逗号,分割。参数三,参数四必须同时存在

$str=number_format(1231233.1415,2,"d","a");

//===============================常用数组方法===============================

$arr=array("k0"="a","k1"="b","k2"="c");

//返回数组元素个数

$int=count($arr);

//判断第二参数的数组元素中是否有第一个参数元素

$bool=in_array("b",$arr);

//返回括号中数组所有键值组成的新数组原数组不改变

$array=array_keys($arr);

//判断第二个参数的数组中是否有第一个参数的键值,返回真假

$bool=array_key_exists("k1",$arr);

//返回原数组中所有元素值组成的新数组,键值从0开始自增,原数组不变

$array=array_values($arr);

//返回当前数组指针指向的键值

$key=key($arr);

//返回当前数组指针指向的元素值

$value=current($arr);

//返回当前数组指针指向元素的键值及元素值组成的数组,再将指针推向下一位,最后指针指向的是一个空元素返回空

//返回的数组中有四个固定键值对应的元素值分别是返回元素的键值及元素值,其中0,'key'键值都对应返回元素键值,1,'value'键值都对应返回的元素值

$array=each($arr);

//先将数组指针推向下一位,再返回指针移动后指向的元素值

$value=next($arr);

//将数组指针推向上一位,再返回指针移动后指向的元素值

$value=prev($arr);

//让数组指针重置指向第一个元素并返回元素值

$value=reset($arr);

//将数组指针指向最后一位元素,并返回最后一位元素值

$value=end($arr);

//将第一个参数以后的参数作为元素追加入第一个参数数组的末尾,索引从最小的没用过的数值开始计,返回之后的数组长度

$int=array_push($arr,"d","dfsd");

//将第一个参数数组后面所有参数作为元素添加到第一个参数数组开头处,键值以0从第一个元素处重新累加,原非数值的键值保持不变,原元素排序位置不变,返回之后的数组长度

$int=array_unshift($arr,"t1","t2");

//返回从数组尾部提取最后一个元素值,并把最后一个元素从原数组中剔除

$value=array_pop($arr);

//array_pop相反,提取返回数组头一个元素值,并把头一个元素从原数组中剔除

$value=array_shift($arr);

//让第一个参数数组达到第二个参数数值长度,将第三个参数作为元素添加到第一个参数数组的末尾,索引从最小没用过数值开始计并返回,原数组不改变

$array1=array_pad($arr,10,"t10");

//返回一个将原数组中多余重复元素剔除掉的新数组,原数组不改变

$array=array_unique($array1);

//将原数组键值打破重新以元素值的阿斯克码值从小到大排序,索引从数字0开始重计

$int=sort($array);

//和sort相反,以元素值阿斯柯码值大小降序重新排序,索引从0重新计

$int=rsort($array);

//返回将第一个参数数组中每一个元素值依次作为键值付给参数二数组的数组,两数组长度必须一致,原数组不改变

$array=array_combine(array("a","b","c","d","e"),$arr);

//将两个数组合并并返回原数组不变

$array=array_merge($arr,array("a","b","c"));

//在第一个参数数组中从第二个参数数值位置开始截取到第三个参数数值长度的数组键值+元素并返回,数组第一个元素位置从0计

$array=array_slice($arr,2,1);

//截取功能和array_slice()一样,只是将截取部分在原数组中剔除

$array=array_splice($arr,2,1);

//将第一个参数作为第一个元素,每次自增参数三的值,自增后再作为一个元素存在数组中,直到值达到参数二的值存到数组中为止并返回这个数组

//参数一,参数二可以是数字,可以是单个字符,单字符就按阿斯柯码值算,第三个参数不写默认每次自增1

$array=range(3,9,2);

//将原数组元素与对应键值的对应关系重新随机排列返回真假

$bool=shuffle($arr);

//计算数组中所有数值型元素值的和

$int=array_sum(array("a",2,"cssf"));

//把一个数组分割为新的数组块,新数组每个元素都是一个数组,新数组每个元素内有几个元素由参数二决定

//第三个参数决定元素的键值是否保留原键值可不写,true为保留,默认false不保留

$array=array_chunk(array("a"="a","b","c","d","e","f","g","h"),2,true);

php函数大全

php函数大全:

1

2 II.

3 III.

4 IV.

5 V. Bzip2 Compression Functions

6 VI.

7 VII. CCVS API Functions [deprecated]

8 VIII. Windows 的 COM 支持函数库

9 IX

10 X.

11 XI. Crack Functions

12 XII. CURL, Client URL Library Functions

13 XIII. Cybercash Payment Functions

14 XIV. Cyrus IMAP administration Functions

15 XV. Character Type Functions

16 XVI. database (dbm-style) Abstraction Layer Functions

17 XVII. 时间日期函数库

18 XVIII. dBase Functions

19 XIX. DBM Functions [deprecated]

20 XX. dbx Functions

常用函数:

pack()

Pack()能将md5()返回的32位16进制字符串转换为16位的二进制字符串,可以节省存储空间。

sys_getloadavg()

sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。

与其让服务器因负载过高而宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的。不过很遗憾,该函数在windows下无效。

get_browser()

get_browser()能获得用户的浏览器类型,以及浏览器支持的功能,不过首先你需要一个php_browscap.ini文件,用来给函数做参考文件。

要注意,该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如,如果用户关闭了浏览器对JavaScript的支持,函数无法得知这一点。但是在判断浏览器类型和OS平台方面,该函数还是很准确的。

_()

Wordcodess开发者经常能见到这个函数,还有_e()。这两个函数功能相同,与gettext()函数结合使用,能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。

cal_days_in_month()

cal_days_in_month()能够返回指定月份共有多少天。

debug_print_backtrace()

这是一个调试用的函数,能帮助你发现代码中的逻辑错误。要理解这个函数,还是直接看个例子吧:

metaphone()

这个函数返回单词的metaphone值,相同读音的单词具有相同的metaphone值,也就是说这个函数可以帮你判断两个单词的读音是否相同。不过对中文就无效了。。。

natsort()

natsort()能将一个数组以自然排序法进行排列

levenshtein()

Levenshtein()告诉你两个单词之间的“距离”。它告诉你如果想把一个单词变成另一个单词,需要插入、替换和删除多少字母。

glob()

glob()会让你觉得用opendir(), readdir()和closedir()来寻找文件非常蠢。

PHP的常用系统函数有哪些

PHP自带了大量的系统函数,使用这些函数可以完成大部分的任务。常用的有数学运算函数和日期时间函数。

1.数学运算函数:

数学运算是程序中最常执行的功能之一,PHP提供了很多系统函数实现运算功能,无须安装、编译和配置便可以直接使用。下表列出了常用的数学函数:

函数名称

功能描述

函数名称

功能描述

abs()

绝对值

is_finite()

判断是否为有限值

acos()

反余弦

is_infinite()

判断是否为无限值

acosh()

反双曲余弦

is_nan()

判断是否为合法数值

asin()

反正弦

lcg_value()

组合线性同余发生器

asinh()

反双曲正弦

log10()

以10为底的对数

atan2()

两个参数的反正切

log()

自然对数

atan()

反正切

max()

最大值

atanh()

反双曲正切

min()

最小值

base_convert()

在任意进制之间转换数字

mt_getrandmax()

显示随机数的最大可能值

bindec()

二进制转换为十进制

mt_rand()

生成更好的随机数

ceil()

进一法取整

mt_sran()

播下一个更好随机数种子

cos()

余弦

octdec()

八进制转换为十进制

cosh()

双曲余弦

pi()

圆周率

decbin()

十进制转换为二进制

pow()

指数表达式

dechex()

十进制转换为十六进制

rad2deg()

将弧度转换为相应的角度值

decoct()

十进制转换为八进制

rand()

产生一个随机数

deg2rad()

将角度转换为弧度

round()

对浮点数四舍五入

exp()

计算e的指数

sin()

正弦

floor()

舍去法取整

sinh()

双曲正弦

fmod()

返回除法的浮点数余数

sqrt()

平方根

getrandmax()

显示随机数最大的可能值

srand()

播下随机数发生器种子

hexdec()

十六进制转换为十进制

tan()

正切

hypot()

计算直角三角形的斜边长度

tanh()

双曲正切

注意:这些数学函数仅能处理计算机中integer和float范围的值。

示例:产生随机密码的的函数

function CreatePassword($length=6) //生成密码函数,默认6位

{

$dictionary=”abcdefghijklmnopqrstuvwxyz0123456789”; //密码字典

$maxChar=strlen($dictionary); //获取字典长度

$password=””;

for($i=0; $i$length; $i++) //随机生成每一位

{

$password.=$dictionary[rand(0, $maxChar)]; //产生随机数,再从字典取字母

}

return $password;

}

2.日期和时间运算:

PHP提供了丰富的日期和时间方面运算的函数。

1)UNIX时间戳:

时间戳(Timestamp)是源于UNIX系统的时间表示方法,是指从1970年1月1日(00:00:00GMT)起到现在所经过的秒数,因此也称为UNIX时间戳。

在PHP中使用时间戳的最简单方式就是调用time()函数,time()函数可以根据当前时间返回一个时间戳的表示法。示例:

echo “当前时间戳为:”.time();

2)日期函数:

PHP提供的一些常用的日期函数。

①date()函数:

date()函数用于格式化一个本地日期和时间。语法格式为:

string date(string $format [, int $timestamp])

返回将整数$timestamp按照$format给定格式而产生的字符串。其中,$timestamp参数是可选的,如果没有给出时间戳,则使用本地当前时间,即time()。

下表列出了$format格式化字符串参数的说明:

说明

返回值

D

月份中的第几天,有前导零的2位数字

01到31

D

星期中的第几天,文本表示,3个字母

Mon到Sun

J

月份中的第几天,没有前导零

1到31

L

L的小写字母,表示星期几的完整文本格式

Sunday到Saturday

N

数字表示的星期中的第几天

1(表示星期一)到7(表示星期天)

S

每月天数后面的英文后缀,2个字符

st,nd,rd或th。可以和j一起用

W

星期中的第几天,数字表示

0(表示星期天)到6(表示星期六)

Z

年份中的第几天

0到366

W

年份中的第几周,每周从星期一开始

例如:42(当年的第42周)

F

月份,完整的文本格式,例如January

January到December

M

数字表示的月份,有前导零

01到12

M

3个字母缩写表示的月份

Jan到Dec

N

数字表示的月份,没有前导零

1到12

t

给定月份所应有的天数

28到31

L

是否为闰年

如果是闰年为1,否则为0

o

年份数字

例如:2016

Y

4位数字完整表示的年份

例如:2016

y

2位数字表示的年份

例如:16

a

小写的上午和下午值

am或pm

A

大写的上午和下午值

AM或PM

g

小时,12小时格式,没有前导零

1到12

G

小时,24小时格式,没有前导零

0到23

h

小时,12小时格式,有前导零

01到12

H

小时,24小时格式,有前导零

00到23

i

有前导零的分钟数

00到59

s

秒数,有前导零

00到59

e

时区标识

例如:UTC,GMT,Atlantic/Azores

I

是否为夏令时

如果是夏令时为1,否则为0

O

与格林威治时间相差的小时数

例如:+0200

Z

时差偏移量的秒数

-43200到43200

c

ISO8601格式的日期

2011-05-12T15:19:21+00:00

r

RFC822格式的日期

例如:Thu, 21 Dec 2011 06:07:08 +0200

U

从January 1 1970 00:00:00开始至今的秒数

与time()函数相同

示例:

$today=date(“m/d/y”); //结果为:07/19/12

$today=date(“F j, Y, g:i a”); //结果为:July 19, 2012, 9:07 am

$today=date(“Y年n月j日”); //结果为:2012年7月19日

$today=date(“Y-m-d H:i:s”); //结果为:2012-07-19 09:07:32

$today=date(“D M j G:i:s T Y”); //结果为:Thu Jul 19 9:07:32 CST 2012

$today=date(‘i t i s t h e jS d a y’); //结果为:07 31 07 32 31 09 Asia/Shanghai 19th 19 am 12

$today=date(‘it is the jS day’); //结果为:it is the 19th day

$today=date(‘H:m:s m is mo h’); //结果为:09:07:32 m is month

②gmdate()函数:

gmdate()函数实现与date()函数相同的功能,不同的是gmdate()函数返回的时间是格林威治标准时间(GMT)。语法格式为:

string gmdate(string $format [, int $timestamp])

③getdate()函数:

getdate()函数用于获取指定的日期和时间信息。语法格式为:

array getdate([int $timestamp])

如果没有指定时间戳$timestamp,则使用系统当前的本地时间。getdate()函数返回一个数组,数组中的每个元素代表日期和时间中的特定组成部分。下表列出了返回数组中键名的说明:

键名

说明

返回值例子

seconds

秒的数字表示

0到59

minutes

分钟的数字表示

0到59

hours

小时的数字表示

0到23

mday

月份中的第几天的数字表示

1到31

wday

星期中的第几天的数字表示

0(表示星期天)到6(表示星期六)

mon

月份的数字表示

1到12

year

4位数字表示的完整年份

例如:2016

yday

一年中的第几天的数字表示

0到365

weekday

星期几的完整文本表示

Sunday到Saturday

month

月份的完整的文本表示

January到December

自从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

(

[seconds]=15

[minutes]=37

[hours]=9

[mday]=19

[wday]=4

[mon]=7

[year]=2016

[yday]=200

[weekday]=Thursday

[month]=July

[0]=1342661835

)

今天是2016年7月19日 星期4

现在时间是 9时37分15秒

④checkdate()函数:

checkdate()函数用于检查一个日期是否有效,有效则返回true,否则返回false。语法格式为:

bool checkdate(int $month, int $day, int $year)

当满足如下条件时,checkdate()函数将认为是一个有效的日期:

·$year的值是从1到32767

·$month的值是从1到12

·$day的值在给定的$month所应该具有的天数范围之内,包括闰年情况

示例:

echo checkdate(2,29,2012)?”有效”:”无效”;

2)时间函数:

①time()函数:

time()函数使用方法非常简单,没有参数调用后返回当前日期和时间的UNIX时间戳。语法格式为:

int time(void)

示例:

$next50day=time()+(50*24*60*60); //计算50天以后的日期

②mktime()函数:

mktime()函数的作用与time()函数相同,都可以返回一个时间戳表示的时间。不同的是,在mktime()函数中可以指定具体的日期和时间。语法格式为:

int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])

上述参数列表从右向左顺序省略,任何省略的参数会被设置为本地日期和时间的当前值。如果指定的时间无法表示,则返回false。mktime()函数在做日期计算和验证方面很有用。示例:

$day1=mktime(0,0,0,12,25,2012);

$day2=mktime(0,0,0,10,1,2012);

$days=($day1-$day2)/(24*60*60); //根据时间戳计算出相差的天数

③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时间戳。

给大家分享几个常用的PHP函数

?php$a1=array("a"="red","b"="green","c"="blue","d"="yellow");$a2=array("e"="red","f"="green","g"="blue");$result=array_intersect($a1,$a2);print_r($result);?result:Array ( [a] = red [b] = green [c] = blue )

什么是PHP的函数?

PHP 用户定义函数

除了内建的 PHP 函数,我们可以创建我们自己的函数。

函数是可以在程序中重复使用的语句块。

页面加载时函数不会立即执行。

函数只有在被调用时才会执行。

在 PHP 创建用户定义函数

用户定义的函数声明以关单 "function" 开头:

语法

function functionName() {

被执行的代码;

}

注释:函数名能够以字母或下划线开头(而非数字)。

注释:函数名对大小写不敏感。

提示:函数名应该能够反映函数所执行的任务。

在下面的例子中,我们创建名为 "writeMsg()" 的函数。打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束。此函数输出 "Hello world!"。如需调用该函数,只要使用函数名即可:

?php

function writeMsg() {

echo "Hello world!";

}

writeMsg(); // 调用函数

?

PHP 函数参数

可以通过参数向函数传递信息。参数类似变量。

参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。

下面的例子中的函数有一个参数($fname)。当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同:

?php

function familyName($fname) {

echo "$fname Zhang.br";

}

familyName("Li");

familyName("Hong");

familyName("Tao");

familyName("Xiao Mei");

familyName("Jian");

?

下面的例子中的函数有两个参数($fname 和 $year):

?php

function familyName($fname,$year) {

echo "$fname Zhang. Born in $year br";

}

familyName("Li","1975");

familyName("Hong","1978");

familyName("Tao","1983");

?

PHP 默认参数值

下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:

?php

function setHeight($minheight=50) {

echo "The height is : $minheight br";

}

setHeight(350);

setHeight(); // 将使用默认值 50

setHeight(135);

setHeight(80);

?

PHP 函数 - 返回值

如需使函数返回值,请使用 return 语句:

?php

function sum($x,$y) {

$z=$x+$y;

return $z;

}

echo "5 + 10 = " . sum(5,10) . "br";

echo "7 + 13 = " . sum(7,13) . "br";

echo "2 + 4 = " . sum(2,4);

?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。