PHP函数
优点:重复使用性,可读性提高,精简程序,便于维护
缺点:多了一道调用的手续,运行速度会变慢
用户自定义函数:
定义函数:
Function function_name([argumentlist])
{
Statements;
[return;| return value;]
} // 注意:函数调用时即使没有参数也要加上括号
条件式函数:若函数定义放在条件式中,那么必须在条件成立后,才能调用该函数。
If($status)
{
Function Greeting()
{
Statements;
}
}
Greeting();
如果if条件不成立,则if后调用Greeting函数会出错。
函数中的函数:若函数定义在其他函数中,那么必须在调用其它函数后,才能调用该函数。
Function MyFunction()
{
Function Greeting()
{
Statements;
}
}
//此次不能调用Greeting函数
Myfuntion();
//此次可以调用Greeting函数
Greeting()
函数的参数:
传值调用:函数无法改变参数的值,因为传递给函数的是参数的值,而不是参数的地址。
传址调用:php传递给函数的是参数的地址,这样在函数内部改变参数的值,原来那个参数的值也会发生改变。
Function function_name(&$参数)
设置参数默认值:function function_name($s=”value1”){}
可变长度参数列表:函数没有一定的参数,提供了几个函数处理这种函数。
Func_num_args():返回参数个数
Func_get_arg(n):返回函数的第n+1个参数
Func_get_args():返回一个数组,包含函数所有参数
函数返回值:Return value;
局部变量和全局变量:
变量具有有效范围,指的是程序的哪些地方可以访问变量的值。能够在php中所有区块均能访问的变量为全局变量,在函数内定义的变量只能在函数内部访问,称为局部变量。
静态变量:对于函数内局部变量来说,当我们调用函数时,局部变量会被创建,当函数运行结束后,局部变量就会被释放。若要保存变量的值,使用静态变量,这样在函数运行完时变量就不会被释放。
变量函数:若某个变量的名称后面存在着小括号(),PHP就会试着找出这个变量代表的值,然后去运行和值同名的函数。
PHP内部函数
数学函数:
Abs(x):取绝对值
Sin(x):取三角sin值
Bindec(x):将二进制数转化为十进制
Decbin(x):将十进制转换为二进制
Pow(base,exp):取次方值
Sqrt(x):取平分根
Rand([min,max]):返回一个随机数
Log(x):返回对数值
Fmod(x1,x2):取浮点余数
日期时间函数:
PHP记录时间的方式是以UNIX时间戳作为运算的依据,时间戳是从1970/1/1到指定日期或时间所经过的秒数。取得日期时间函数:
Getdate([inttimestamp]):将参数指定的时间戳转换成日期的格式,然后返回,如果timestamp不写,就返回系统目前的日期时间信息。
Time():取得目前的时间信息,返回一个时间戳
Mktime([inthour[, int minutie[, int second [, int mouth [, int day [,int year [,inis_dst]]]]]]]): 根据参数指定的日期创建一个时间戳
格式化日期函数:
Date(stringformat [, int timestamp])
Gmdate(stringformat [, int timestamp])
日期时间运算函数:
Strtotime(stringtime [, int timestamp])
eg:
将日期设置为今天日期:
Strtotime(“now”);
将日期设置为2010/1/1013:00:00:
Strtotime(“10January 2010 13:00:00”);
将目前日期增加3天
Strtotime(“+3day);
将目前日期减少5周:
Strtotime(“-5week”);
字符串函数:
字符串转化函数:
Strtolower(stringstr): 转化为小写
Strtoupper(stringstr): 转化为大写
Ucfirst(stringstr): 字符串第一个字母大写
Ucwords(stringstr): 字符串每个单词第一个字母大写
Ord(stringstr): 取得str第一个字符的ascii值
Chr(intascii): 取得ascii码代表的字符
Strrev(stringstr): 字符串反转
字符串比较函数:
Strcmp(stringstr1,string str2):比较字符串大小
Strncmp(stringstr1,string str2,int length):比较字符串length长度的字符
Strcasecmp()与strncaecmp 要区分大小写,strcmp()与strncmp()不区分大小写
取代字符串函数:
Str_replace(mixed search,mixed replace,mixed subject [,int count]):替换subject里面的search为replace,替换个数为count个.
Eg : Str_replace(“p”,”P”,”shopping”,2);结果为”shoPPping”
Str_ireplace()与str_replace()用法相同,str_ireplace不区分大小写。
寻找字符串函数:
Strchr(string haystack,string needle):返回第一次找到字符串参数needle指定的字符串后面的所有字符串。
Strstr( string haystack,string needle):同上
Stristr(stringhaystack,string needle):同上,但不区分大小写
Strrchr(stringhaystack,string needle):返回最后一次一次找到字符串参数needle指定的字符串后面的所有字符串。
Strpos(stringhaystack,string needle [, int offset]):返回字符串参数needle在字符串参数haystack第一次出现的位置。
Stripos(stringhaystack,string needle [, int offset]):返回字符串参数needle在字符串参数haystack第一次出现的位置,但不区分大小写。
Strrpos(stringhaystack,string needle [, int offset]):返回字符串参数needle在字符串参数haystack最后一次出现的位置。
Strripos(stringhaystack,string needle [, int offset]):返回字符串参数needle在字符串参数haystack最后一次出现的位置,但不区分大小写。
字符串操作函数:
Strlen(stringlen):取得字符串长度
Str_repeat(stringinput,int count):返回由参数input组成的字符串,count为重复的次数。
Substr(stringstr, int start [,int length]):从字符串参数str的第start位置返回length个字符。
Ltrim(stringstr [, string charlist]):删除字符串str最左边符合参数charlist的字符。如果charlist不写,则删除空格字符。
rtrim(string str [, string charlist]):删除字符串str最右边符合参数charlist的字符。如果charlist不写,则删除空格字符。
chop (string str [, string charlist]):删除字符串str最右边符合参数charlist的字符。如果charlist不写,则删除空格字符。
trim(string str [, string charlist]):删除字符串str最右边和最左边符合参数charlist的字符。如果charlist不写,则删除空格字符。
nl2br(stringstr):将换行符号转换成html换行标签。
Implode(stringseparator,array pieces):将参数pieces指定的字符串数组,以separator为分割符组成一个新的字符串
Explode(stringseparator, string str [, int limit]):以separator为分隔符分割字符串,limit用来限制可以分割成几个字符串