本文目录一览:
- 1、php函数大全
- 2、什么是PHP的函数?
- 3、php fopen函数的模式问题
- 4、写几个简单php函数
- 5、php常用函数
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 用户定义函数
除了内建的 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);
?
php fopen函数的模式问题
php的fopen模式‘a’代表append, 追加模式。
尝试在文件末尾追加数据。文件不存在时会创建新文件
写几个简单php函数
?php
function pai( $NumStr ) {
$Arr = preg_split('/[,,]+/is', $NumStr);
$Ou = $Ji = array();
foreach( $Arr as $val ) {
$val % 2 == 0 ? $Ou[] = $val : $Ji[] = $val;
}
arsort($Ji);
asort($Ou);
//print_r( $Ji );
echo join(',', $Ji ), ',', join(',', $Ou );
}
function ca( $NumStr ) {
$Arr = preg_split('/[,,]+/is', $NumStr);
echo max( $Arr ) - min( $Arr );
}
function length( $Num ) {
echo strlen( $Num );
}
pai('3,6,5,71,75,34,45,23,16');
echo 'br/';
ca('15,78,65,10,30');
echo 'br/';
length(4578445);
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);