共计 28083 个字符,预计需要花费 71 分钟才能阅读完成。
数学函数
1.abs(): 求绝对值
<span style=”font-size: 14px;”>$abs = abs(-4.2); //4.2<br></span>
输入: 数字 输出: 绝对值数字
2.ceil(): 进一法取整
<span style=”font-size: 14px;”>echo ceil(9.999); // 10<br></span>
输出: 浮点数进一取整
3.floor(): 去尾法取整
<span style=”font-size: 14px;”> echo floor(9.999); // 9<br></span>
输出: 浮点数直接舍去小数部分
4.fmod(): 浮点数取余
<span style=”font-size: 14px;”> $x = 5.7; $y = 1.3; // 两个浮点数,x>y 浮点余数 <br> $r = fmod($x, $y); // $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7<br></span>
5.pow(): 返回数的 n 次方
<span style=”font-size: 14px;”> echo pow(-1, 20); // 1 基础数 | n 次方乘方值 <br></span>
6.round(): 浮点数四舍五入
<span style=”font-size: 14px;”> echo round(1.95583, 2); // 1.96, 一个数值 | 保留小数点后多少位, 默认为 0 舍入后的结果 </span>
7.sqrt(): 求平方根
<span style=”font-size: 14px;”> echo sqrt(9); //3 被开方的数平方根 <br></span>
8.max(): 求最大值
<span style=”font-size: 14px;”> echo max(1, 3, 5, 6, 7); // 7<br></span>
多个数字或数组 返回其中的最大值
<span style=”font-size: 14px;”> echo max(array(2, 4, 5)); // 5</span>
9.min(): 求最小值
输入: 多个数字或数组
输出: 返回其中的最小值
10.mt_rand(): 更好的随机数
输入: 最小 | 最大, 输出: 随机数随机返回范围内的值
<span style=”font-size: 14px;”> echo mt_rand(0,9);//n<br></span>
11.rand(): 随机数 输入: 最小 | 最大, 输出: 随机数随机返回范围内的值
12.pi(): 获取圆周率值
字符串函数去空格或或其他字符:13.trim(): 删除字符串两端的空格或其他预定义字符
<span style=”font-size: 14px;”> $str = “\r\nHello World!\r\n”; echo trim($str);<br></span>
输入: 目标字符串 返回值: 清除后的字符串
14.rtrim(): 删除字符串右边的空格或其他预定义字符
<span style=”font-size: 14px;”> $str = “Hello World!\n\n”; echo rtrim($str);<br></span>
15.chop(): rtrim()的别名
16.ltrim(): 删除字符串左边的空格或其他预定义字符
<span style=”font-size: 14px;”> $str = “\r\nHello World!”; echo ltrim($str);<br></span>
17.dirname(): 返回路径中的目录部分
<span style=”font-size: 14px;”> echo dirname(“c:/testweb/home.php”); //c:/testweb<br></span>
输入: 一个包含路径的字符串 返回值: 返回文件路径的目录部分
字符串生成与转化:18.str_pad(): 把字符串填充为指定的长度
<span style=”font-size: 14px;”> $str = “Hello World”; echo str_pad($str,20,”.”);<br></span>
输入: 要填充的字符串 | 新字符串的长度 | 供填充使用的字符串, 默认是空白
输出: 完成后的字符串
19.str_repeat(): 重复使用指定字符串
<span style=”font-size: 14px;”> echo str_repeat(“.”,13); // 要重复的字符串 | 字符串将被重复的次数 13 个点 <br></span>
20.str_split(): 把字符串分割到数组中
<span style=”font-size: 14px;”>print_r(str_split(“Hello”));<br></span>
输入: 要分割的字符串 | 每个数组元素的长度,默认 1
输出: 拆分后的字符串数组
21.strrev(): 反转字符串
<span style=”font-size: 14px;”> echo strrev(“Hello World!”); // !dlroW olleH<br></span>
输出: 目标字符串颠倒顺序后的字符串
22.wordwrap(): 按照指定长度对字符串进行折行处理
<span style=”font-size: 14px;”> $str = “An example on a long word is: Supercalifragulistic”; echo wordwrap($str,15);<br></span>
输入: 目标字符串 | 最大宽数
输出: 折行后的新字符串
23.str_shuffle(): 随机地打乱字符串中所有字符
<span style=”font-size: 14px;”> echo str_shuffle(“Hello World”);<br></span>
输入: 目标字符串顺序 输出: 打乱后的字符串
24.parse_str(): 将字符串解析成变量
<span style=”font-size: 14px;”> parse_str(“id=23&name=John%20Adams”, $myArray);<br> print_r($myArray);<br></span>
输入: 要解析的字符串 | 存储变量的数组名称
输出:
<span style=”font-size: 14px;”>Array(<br>[id] => 23[name] => John Adams)<br></span>
25.number_format(): 通过千位分组来格式化数字 输入: 要格式化的数字 | 规定多少个小数 | 规定用作小数点的字符串 | 规定用作千位分隔符的字符串
输出:
<span style=”font-size: 14px;”>1,000,000<br>1,000,000.00<br>1.000.000,00<br></span>
大小写转换:26.strtolower(): 字符串转为小写
<span style=”font-size: 14px;”> echo strtolower(“Hello WORLD!”);<br></span>
目标字符串 小写字符串
27.strtoupper(): 字符串转为大写
<span style=”font-size: 14px;”> echo strtoupper(“Hello WORLD!”);<br></span>
输出: 大写字符串
28.ucfirst(): 字符串首字母大写
<span style=”font-size: 14px;”> echo ucfirst(“hello world”); // Hello world<br></span>
29.ucwords(): 字符串每个单词首字符转为大写
<span style=”font-size: 14px;”> echo ucwords(“hello world”); // Hello World<br></span>
html 标签关联:30.htmlentities(): 把字符转为 HTML 实体
<span style=”font-size: 14px;”> $str = “John & ‘Adams'”;echo htmlentities($str, ENT_COMPAT); // John & ‘Adams'<br></span>
31.htmlspecialchars(): 预定义字符转 html 编码
32.nl2br(): n 转义为标签
<span style=”font-size: 14px;”> echo nl2br(“One line.\nAnother line.”);<br></span>
输出: 处理后的字符串
33.strip_tags(): 剥去 HTML、XML 以及 PHP 的标签
<span style=”font-size: 14px;”> echo strip_tags(“Hello <b>world!</b>”); <br></span>
34.addcslashes(): 在指定的字符前添加反斜线转义字符串中字符
<span style=”font-size: 14px;”> $str = “Hello, my name is John Adams.”; echo $str; echo addcslashes($str,’m’);<br></span>
输入: 目标字符串 | 指定的特定字符或字符范围
35.stripcslashes(): 删除由 addcslashes()添加的反斜线
<span style=”font-size: 14px;”> echo stripcslashes(“Hello, \my na\me is Kai Ji\m.”); // 目标字符串 Hello, my name is Kai Jim.<br></span>
36.addslashes(): 指定预定义字符前添加反斜线
<span style=”font-size: 14px;”> $str = “Who’s John Adams?”;echo addslashes($str);<br></span>
输出: 把目标串中的’”和 null 进行转义处理
37.stripslashes(): 删除由 addslashes()添加的转义字符
<span style=”font-size: 14px;”> echo stripslashes(“Who\’s John Adams?”); // 清除转义符号 Who’s John Adams?<br></span>
38.quotemeta(): 在字符串中某些预定义的字符前添加反斜线
<span style=”font-size: 14px;”> $str = “Hello world. (can you hear me?)”;echo quotemeta($str); // Hello world\. \(can you hear me\?\)<br></span>
39.chr(): 从指定的 ASCII 值返回字符
<span style=”font-size: 14px;”> echo chr(052); // ASCII 值返回对应的字符 <br></span>
40.ord(): 返回字符串第一个字符的 ASCII 值
<span style=”font-size: 14px;”> echo ord(“hello”); 字符串第一个字符的 ASCII 值 <br></span>
字符串比较:41.strcasecmp(): 不区分大小写比较两字符串
<span style=”font-size: 14px;”> echo strcasecmp(“Hello world!”,”HELLO WORLD!”);<br></span>
输入: 两个目标字符串 输出: 大 1 | 等 0 | 小 -1
42.strcmp(): 区分大小写比较两字符串
43.strncmp(): 比较字符串前 n 个字符, 区分大小写
调用: int strncmp (string $str1 , string $str2 , int $len) 44.strncasecmp(): 比较字符串前 n 个字符, 不区分大小写
调用: int strncasecmp (string $str1 , string $str2 , int $len)
45.strnatcmp(): 自然顺序法比较字符串长度, 区分大小写
调用: int strnatcmp (string $str1 , string $str2)
输入: 目标字符串
46.strnatcasecmp(): 自然顺序法比较字符串长度, 不区分大小写
调用: int strnatcasecmp (string $str1 , string $str2)
字符串切割与拼接:
47.chunk_split():将字符串分成小块
调用: str chunk_split(str $body[,int $len[,str $end]])
输入: $body 目标字串, $len 长度, $str 插入结束符 输出: 分割后的字符串
48.strtok(): 切开字符串
调用: str strtok(str $str,str $token)
目标字符串 $str,以 $token 为标志切割返回切割后的字符串
49.explode(): 使用一个字符串为标志分割另一个字符串
调用: array explode(str $sep,str $str[,int $limit])
输入: $sep 为分割符,$str 目标字符串,$limit 返回数组最多包含元素数 输出: 字符串被分割后形成的数组
50.implode(): 同 join, 将数组值用预订字符连接成字符串
调用: string implode (string $glue , array $pieces)
$glue 默认, 用”则直接相连
51.substr(): 截取字符串
调用: string substr (string $string , int $start [, int $length] )
字符串查找替换:
52.str_replace(): 字符串替换操作, 区分大小写
调用
mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])
输入: $search 查找的字符串,$replace 替换的字符串,$subject 被查找字串, &$num 输出: 返回替换后的结果
53.str_ireplace() 字符串替换操作, 不区分大小写
调用: mix str_ireplace (mix $search , mix $replace , mix $subject [, int &$count] )
输入: $search 查找的字符串,$replace 替换的字符串,$subject 被查找字串,&$num 输出: 返回替换后的结果
54.substr_count(): 统计一个字符串, 在另一个字符串中出现次数
调用: int substr_count (string $haystack , string $needle[, int $offset = 0 [, int $length]] )
55.substr_replace(): 替换字符串中某串为另一个字符串
调用: mixed substr_replace (mixed $string, string $replacement,int $start [, int $length] )
56.similar_text(): 返回两字符串相同字符的数量
调用:
int similar_text(str $str1,str $str2)
输入:
两个比较的字符串
输出: 整形, 相同字符数量
57.strrchr(): 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串
调用: string strrchr (string $haystack , mixed $needle)
58.strstr(): 返回一个字符串在另一个字符串中开始位置到结束的字符串
调用: string strstr (string $str, string $needle , bool $before_needle) 59.strchr(): strstr()的别名, 返回一个字符串在另一个字符串中首次出现的位置开始到末尾的字符串
调用: string strstr (string $haystack , mixed $needle [, bool $before_needle = false] ) 60.stristr(): 返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写
调用:string stristr (string $haystack , mixed $needle [, bool $before_needle = false] )
61.strtr(): 转换字符串中的某些字符
调用: string strtr (string $str , string $from , string $to)
62.strpos(): 寻找字符串中某字符最先出现的位置
调用: int strpos (string $haystack , mixed $needle [, int $offset = 0] )
63.stripos(): 寻找字符串中某字符最先出现的位置, 不区分大小写 调用: int stripos ( string $haystack , string $needle [, int $offset] )
64.strrpos(): 寻找某字符串中某字符最后出现的位置
调用: int strrpos (string $haystack , string $needle [, int $offset = 0] )
65.strripos(): 寻找某字符串中某字符最后出现的位置, 不区分大小写
调用:
int strripos (string $haystack , string $needle [, int $offset] )
66.strspn(): 返回字符串中首次符合 mask 的子字符串长度 调用: int strspn ( string $str1 , string $str2 [, int $start [, int $length]] )
67.strcspn(): 返回字符串中不符合 mask 的字符串的长度
调用: int strcspn (string $str1 , string $str2 [, int $start [, int $length]] )
输入: $str1 被查询,$str2 查询字符串,$start 开始查询的字符,$length 是查询长度 输出: 返回从开始到第几个字符
字符串统计:
68.str_word_count(): 统计字符串含有的单词数
调用: mix str_word_count(str $str,[])
输入: 目标字符串 输出: 统计处的数量
69.strlen(): 统计字符串长度 函数原型: int strlen(str $str)
输入: 目标字符串 输出: 整型长度
70.count_chars(): 统计字符串中所有字母出现次数(0..255) 调用: mixed count_chars (string $string [, int $mode] )
字符串编码:71.md5(): 字符串 md5 编码
<span style=”font-size: 14px;”>$str = “Hello”;<br></span>
echo md5($str);
数组函数
数组创建:
72.array(): 生成一个数组
<span style=”font-size: 14px;”> $a=array(“Dog”,”Cat”,”Horse”);<br> print_r($a);<br></span>
数组值或, 键 => 值一个数组型变量
73.array_combine(): 生成一个数组, 用一个数组的值 作为键名, 另一个数组值作为值
<span style=”font-size: 14px;”> $a1=array(“a”,”b”,”c”,”d”); $a2=array(“Cat”,”Dog”,”Horse”,”Cow”);<br> print_r(array_combine($a1,$a2));<br></span>
输入参数: $a1 为提供键,$a2 提供值 输出: 合成后的数组
74.range(): 创建并返回一个包含指定范围的元素的数组。
<span style=”font-size: 14px;”> $number = range(0,50,10);<br> print_r ($number);<br></span>
输入: 0 是最小值,50 是最大值,10 是步长 输出: 合成后的数组
75.compact(): 创建一个由参数所带变量组成的数组
<span style=”font-size: 14px;”> $firstname = “Peter”; $lastname = “Griffin”; $age = “38”; $result = compact(“firstname”, “lastname”, “age”);<br> print_r($result);<br></span>
变量或数组
返回由变量名为键, 变量值为值的数组, 变量也可以为多维数组. 会递归处理 76.array_fill(): 用给定的填充 (值生成) 数组
<span style=”font-size: 14px;”> $a=array_fill(2,3,”Dog”);<br> print_r($a);<br></span>
2 是键,3 是填充的数量,’Dog’为填充内容返回完成的数组
数组合并和拆分:77.array_chunk(): 把一个数组分割为新的数组块
<span style=”font-size: 14px;”> $a=array(“a”=>”Cat”,”b”=>”Dog”,”c”=>”Horse”,”d”=>”Cow”);<br>print_r(array_chunk($a,2));<br></span>
一个数组分割后的多维数组,规定每个新数组包含 2 个元素
78.array_merge(): 把两个或多个数组合并为一个数组。
<span style=”font-size: 14px;”> $a1=array(“a”=>”Horse”,”b”=>”Dog”); $a2=array(“c”=>”Cow”,”b”=>”Cat”);<br> print_r(array_merge($a1,$a2));<br></span>
输入: 两个数组 输出: 返回完成后的数组
79.array_slice(): 在数组中根据条件取出一段值,并返回。
<span style=”font-size: 14px;”> $a=array(0=>”Dog”,1=>”Cat”,2=>”Horse”,3=>”Bird”);<br>print_r(array_slice($a,1,2));<br></span>
输入: 一个数组 输出: 1 为从’Cat’开始,2 为返回两个元素
数组比较:
80.array_diff(): 返回两个数组的差集数组
<span style=”font-size: 14px;”> $a1=array(0=>”Cat”,1=>”Dog”,2=>”Horse”);$a2=array(3=>”Horse”,4=>”Dog”,5=>”Fish”);<br> print_r(array_diff($a1,$a2)); // 返回 ’Cat'<br></span>
输入: 两个或多个数组 输出: $a1 与 $a2 的不同之处
81.array_intersect(): 返回两个或多个数组的交集数组 输出: 返回’Dog’和’Horse’, $a1 与 $a2 的相同之处
数组查找替换:
82.array_search(): 在数组中查找一个值,返回一个键,没有返回返回假
<span style=”font-size: 14px;”> $a=array(“a”=>”Dog”,”b”=>”Cat”,”c”=>”Horse”); echo array_search(“Dog”,$a);<br></span>
输入: 一个数组 输出: 成功返回键名, 失败返回 false
83.array_splice(): 把数组中一部分删除用其他值替代
<span style=”font-size: 14px;”> $a1=array(0=>”Dog”,1=>”Cat”,2=>”Horse”,3=>”Bird”); $a2=array(0=>”Tiger”,1=>”Lion”);<br> array_splice($a1,0,2,$a2);<br> print_r($a1);<br></span>
输入: 一个或多个数组 输出: $a1 被移除的部分由 $a2 补全
84.array_sum(): 返回数组中所有值的总和
<span style=”font-size: 14px;”> $a=array(0=>”5″,1=>”15″,2=>”25″); echo array_sum($a);<br></span>
输入: 一个数组 输出: 返回和
85.in_array(): 在数组中搜索给定的值, 区分大小写
<span style=”font-size: 14px;”> $people = array(“Peter”, “Joe”, “Glenn”, “Cleveland”); if (in_array(“Glenn”,$people) {echo “Match found”;<br>} else{echo “Match not found”;<br>}<br></span>
输入: 需要搜索的值 | 数组 输出: true/false
86.array_key_exists(): 判断某个数组中是否存在指定的 key
输入: 需要搜索的键名 | 数组
数组引用操作:
87.key(): 返回数组内部指针当前指向元素的键名 88.current(): 返回数组中的当前元素(单元). 89.next(): 把指向当前元素的指针移动到下一个元素的位置, 并返回当前元素的值 90.prev(): 把指向当前元素的指针移动到上一个元素的位置, 并返回当前元素的值 91.end(): 将数组内部指针指向最后一个元素,并返回该元素的值(如果成功) 92.reset(): 把数组的内部指针指向第一个元素,并返回这个元素的值 93.list(): 用数组中的元素为一组变量赋值
<span style=”font-size: 14px;”> $my_array=array(“Dog”,”Cat”,”Horse”); list($a, $b, $c) = $my_array;<br></span>
输入: $a, $b, $c 为需要赋值的变量 输出: 变量分别匹配数组中的值
94.array_shift(): 删除数组中的第一个元素,并返回被删除元素的值
<span style=”font-size: 14px;”> $a=array(“a”=>”Dog”,”b”=>”Cat”,”c”=>”Horse”); echo array_shift($a);<br> print_r ($a);<br></span>
95.array_unshift(): 在数组开头插入一个或多个元素
<span style=”font-size: 14px;”> $a=array(“a”=>”Cat”,”b”=>”Dog”);<br> array_unshift($a,”Horse”);<br> print_r($a);<br></span>
96.array_push(): 向数组最后压入一个或多个元素
<span style=”font-size: 14px;”>$a=array(“Dog”,”Cat”);<br>array_push($a,”Horse”,”Bird”);<br>print_r($a);<br></span>
输入: 目标数组 | 需要压入的值 返回值: 返回新的数组
97.array_pop(): 取得(删除)数组中的最后一个元素
<span style=”font-size: 14px;”> $a=array(“Dog”,”Cat”,”Horse”);<br> array_pop($a);<br> print_r($a);<br></span>
输入: $a 为目标数组 输出: 返回数组剩余元素
数组键值操作:
98.shuffle(): 将数组打乱, 保留键名
<span style=”font-size: 14px;”> $my_array = array(“a” => “Dog”, “b” => “Cat”);<br> shuffle($my_array);<br> print_r($my_array);<br></span>
输入: 一个或多个数组 输出: 顺序打乱后的数组
99.count(): 计算数组中的单元数目或对象中的属性个数
<span style=”font-size: 14px;”> $people = array(“Peter”, “Joe”, “Glenn”, “Cleveland”); $result = count($people); echo $result;<br></span>
输入: 数组 输出: 输出元素个数
100.array_flip(): 返回一个键值反转后的数组
<span style=”font-size: 14px;”> $a=array(0=>”Dog”,1=>”Cat”,2=>”Horse”);<br>print_r(array_flip($a));<br></span>
输出: 返回完成后的数组 101.array_keys(): 返回数组所有的键, 组成一个数组
<span style=”font-size: 14px;”> $a=array(“a”=>”Horse”,”b”=>”Cat”,”c”=>”Dog”);<br> print_r(array_keys($a));<br></span>
输出: 返回由键名组成的数组
102.array_values(): 返回数组中所有值,组成一个数组
输出: 返回由键值组成的数组
103.array_reverse(): 返回一个元素顺序相反的数组 元素顺序相反的一个数组,键名和键值依然匹配
104.array_count_values(): 统计数组中所有的值出现的次数
<span style=”font-size: 14px;”> $a=array(“Cat”,”Dog”,”Horse”,”Dog”);<br> print_r(array_count_values($a));<br></span>
输出: 返回数组原键值为新键名,次数为新键值
105.array_rand(): 从数组中随机抽取一个或多个元素, 注意是键名!!!
<span style=”font-size: 14px;”> $a=array(“a”=>”Dog”,”b”=>”Cat”,”c”=>”Horse”);<br> print_r(array_rand($a,1));<br></span>
$a 为目标数组, 1 为抽取第几个元素的键名返回第 1 个元素的键名 b
106.each(): 返回数组中当前的键/值对并将数组指针向前移动一步 调用 array each ( array &$array)
在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 reset()。
返回值: 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。如果内部指针越过了数组的末端,则 each() 返回 FALSE。
107.array_unique(): 删除重复值,返回剩余数组
<span style=”font-size: 14px;”> $a=array(“a”=>”Cat”,”b”=>”Dog”,”c”=>”Cat”);<br> print_r(array_unique($a));<br></span>
输入: 数组 输入: 返回无重复值数组,键名不变
数组排序:
108.sort(): 按升序对给定数组的值排序, 不保留键名
<span style=”font-size: 14px;”> $my_array = array(“a” => “Dog”, “b” => “Cat”, “c” => “Horse”);<br> sort($my_array);<br> print_r($my_array);<br></span>
输出: true/false 109.rsort(): 对数组逆向排序, 不保留键名 110.asort(): 对数组排序, 保持索引关系 111.arsort(): 对数组逆向排序, 保持索引关 112.ksort(): 系按键名对数组排序 113.krsort(): 将数组按照键逆向排序 114.natsort(): 用自然顺序算法对数组中的元素排序 115.natcasesort(): 自然排序, 不区分大小写
文件系统函数
116.fopen(): 打开文件或者 URL
<span style=”font-size: 14px;”> $handle = fopen(“ftp://user:password@example.com/somefile.txt”, “w”);<br></span>
调用: resource fopen (string filename, string mode [, bool use_include_path [, resource zcontext]] )
返回值: 如果打开失败,本函数返回 FALSE
117.fclose(): 关闭一个已打开的文件指针
<span style=”font-size: 14px;”> $handle = fopen(‘somefile.txt’, ‘r’);<br> fclose($handle);<br> bool fclose(resource handle)<br></span>
输出: 如果成功则返回 TRUE,失败则返回 FALSE
文件属性
118.file_exists(): 检查文件或目录是否存在
<span style=”font-size: 14px;”> $filename = ‘/path/to/foo.txt’; if (file_exists($filename)) {echo “exists”;<br>} else {echo “does not exist”;<br>}<br></span>
调用: bool file_exists (string filename) 输入: 指定的文件或目录 输出: 存在则返回 TRUE,否则返回 FALSE
119.filesize(): 取得文件大小
<span style=”font-size: 14px;”> $filename = ‘somefile.txt’;echo $filename . ‘: ‘ . filesize($filename) .’bytes’;<br></span>
调用: int filesize (string $filename)
输出: 返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误
120.is_readable(): 判断给定文件是否可读
<span style=”font-size: 14px;”> $filename = ‘test.txt’; if (is_readable($filename)) {echo ‘ 可读 ’;<br>} else {echo ‘ 不可读 ’;<br>}<br></span>
调用: bool is_readable (string $filename) 输出: 如果由 filename 指定的文件或目录存在并且可读则返回 TRUE
121.is_writable(): 判断给定文件是否可写
<span style=”font-size: 14px;”> $filename = ‘test.txt’; if (is_writable($filename)) {echo ‘ 可写 ’;<br>} else {echo ‘ 不可写 ’;<br>}<br></span>
调用: bool is_writable (string $filename) filename 参数 可以是一个允许进行是否可写检查的目录名
输出: 如果文件存在并且可写则返回 TRUE。
122.is_executable(): 判断给定文件是否可执行
<span style=”font-size: 14px;”> $file = ‘setup.exe’; if (is_executable($file)) {echo ‘ 可执行 ’;<br>} else {echo ‘ 不可执行 ’;<br>}<br></span>
调用: bool is_executable (string $filename) 输出: 如果文件存在且可执行则返回 TRUE
123.filectime(): 获取文件的创建时间
<span style=”font-size: 14px;”> $filename = ‘somefile.txt’;echo filectime($filename);<br></span>
调用: int filectime (string $filename) 输出: 时间以 Unix 时间戳的方式返回,如果出错则返回 FALSE
124.filemtime(): 获取文件的修改时间
<span style=”font-size: 14px;”> $filename = ‘somefile.txt’;echo filemtime($filename);<br> int filemtime (string $filename)<br></span>
输出: 返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回
125.fileatime(): 获取文件的上次访问时间
<span style=”font-size: 14px;”> $filename = ‘somefile.txt’;echo fileatime($filename);<br></span>
调用: int fileatime (string $filename)
输出: 返回文件上次被访问的时间, 如果出错则返回 FALSE. 时间以 Unix 时间戳的方式返回.
126.stat(): 获取文件大部分属性值
<span style=”font-size: 14px;”> $filename = ‘somefile.txt’;<br>var_dump(fileatime($filename));<br></span>
调用: array stat (string $filename 输出: 返回由 filename 指定的文件的统计信息
文件操作
127.fwrite(): 写入文件
<span style=”font-size: 14px;”> $filename = ‘test.txt’; $somecontent = “ 添加这些文字到文件 \n”; $handle = fopen($filename, ‘a’);<br> fwrite($handle, $somecontent);<br> fclose($handle);<br></span>
调用: int fwrite (resource handle, string string [, int length] )
输出: 把 string 的内容写入 文件指针 handle 处。如果指定了 length, 当写入了 length 个字节或者写完了 string 以后,写入就会停止, 视乎先碰到哪种情况
128.fputs(): 同上 129.fread(): 读取文件
<span style=”font-size: 14px;”> $filename = “/usr/local/something.txt”;$handle = fopen($filename, “r”);$contents = fread($handle, filesize($filename));<br> fclose($handle);<br></span>
调用: string fread (int handle, int length) 从文件指针 handle,读取最多 length 个字节
130.feof(): 检测文件指针是否到了文件结束的位置
<span style=”font-size: 14px;”> $file = @fopen(“no_such_file”, “r”); while (!feof($file)) {<br>}<br> fclose($file);<br></span>
调用: bool feof (resource handle) 输出: 如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE
131.fgets(): 从文件指针中读取一行
<span style=”font-size: 14px;”> $handle = @fopen(“/tmp/inputfile.txt”, “r”); if ($handle) {while (!feof($handle)) {$buffer = fgets($handle, 4096); echo $buffer;<br> }<br> fclose($handle);<br> }<br></span>
调用: string fgets (int handle [, int length] ) 输出: 从 handle 指向的文件中读取一行并返回长度最多为 length- 1 字节的字符串. 碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况). 如果没有指定 length, 则默认为 1K, 或者说 1024 字节.
132.fgetc(): 从文件指针中读取字符
<span style=”font-size: 14px;”> $fp = fopen(‘somefile.txt’, ‘r’); if (!$fp) {echo ‘Could not open file somefile.txt’;<br>} while (false !== ($char = fgetc($fp))) {echo “$char\n”;<br>}<br></span>
输入: string fgetc (resource $handle) 输出: 返回一个包含有一个字符的字符串,该字符从 handle 指向的文件中得到. 碰到 EOF 则返回 FALSE.
133.file(): 把整个文件读入一个数组中
<span style=”font-size: 14px;”> $lines = file(‘http://www.example.com/’);<br></span>
// 在数组中循环,显示 HTML 的源文件并加上行号。
<span style=”font-size: 14px;”> foreach ($lines as $line_num => $line) {echo “Line #<b>{$line_num}</b> : ” .<br> htmlspecialchars($line) . “<br />\n”;<br> }<br></span>
// 另一个例子将 web 页面读入字符串。参见 file_get_contents()。
<span style=”font-size: 14px;”> $html = implode(”, file(‘http://www.example.com/’));<br></span>
调用: array file (string $filename [, int $use_include_path [, resource $context]] )
输出: 数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE
134.readfile(): 输出一个文件 调用: int readfile ( string $filename [, bool $use_include_path [, resource $context]] )
输出: 读入一个文件并写入到输出缓冲。返回从文件中读入的字节数。如果出错返回 FALSE
135.file_get_contents(): 将整个文件读入一个字符串
<span style=”font-size: 14px;”> echo file_get_contents(‘http://www.baidu.com’);<br></span>
调用: string file_get_contents (string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen]]]] ) 136.file_put_contents(): 将一个字符串写入文件
<span style=”font-size: 14px;”> file_put_contents(‘1.txt’,’aa’);<br></span>
调用: int file_put_contents (string $filename , string $data [, int $flags [, resource $context]] )
输出: 该函数将返回写入到文件内数据的字节数
137.ftell(): 返回文件指针读 / 写的位置
<span style=”font-size: 14px;”> $fp=fopen(‘tx.txt’,’r’);<br> fseek($fp,10); echo ftell($fp);<br> fread($fp,4); echo ftell($fp);<br></span>
调用: int ftell (resource $handle) 输出: 返回由 handle 指定的文件指针的位置,也就是文件流中的偏移量
138.fseek(): 在文件指针中定位
<span style=”font-size: 14px;”> $fp=fopen(‘tx.txt’,’r’);<br> fseek($fp,10); echo ftell($fp);<br> fread($fp,4); echo ftell($fp);<br></span>
调用: int fseek (resource $handle , int $offset [, int $whence] ) 输出: 成功则返回 0;否则返回 -1
139.rewind(): 倒回文件指针的位置
<span style=”font-size: 14px;”> $fp=fopen(‘tx.txt’,’r’);<br> fseek($fp,3); echo ftell($fp);<br> fread($fp,4);<br> rewind($fp); echo ftell($fp);<br></span>
调用: bool rewind (resource $handle) 返回值: 如果成功则返回 TRUE,失败则返回 FALSE
140.flock(): 轻便的执行文件锁定
<span style=”font-size: 14px;”> $fp=fopen(‘tx.txt’,’r’);<br> flock($fp, LOCK_SH);// 共享锁 <br> //flock($fp, LOCK_EX);// 独立锁,写文件时用它打开 <br> //flock($fp, LOCK_NB);// 附加锁 <br> flock($fp, LOCK_UN);// 释放锁 <br> fclose($fp);<br></span>
调用: bool flock (int $handle , int $operation [, int &$wouldblock] ) 输出: 如果成功则返回 TRUE,失败则返回 FALSE
目录函数
141.basename(): 返回路径中的文件名部分
<span style=”font-size: 14px;”> path = “/home/httpd/html/index.php”; $file = basename($path); $file = basename($path,”.php”);<br></span>
调用: string basename (string $path [, string $suffix]) 输出: 给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结 束的,那这一部分也会被去掉
142.dirname(): 返回路径中的目录部分
<span style=”font-size: 14px;”> $path = “/etc/passwd”; $file = dirname($path);<br></span>
调用: string dirname (string $path) 输出: 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名
143.pathinfo(): 返回文件路径的信息
<span style=”font-size: 14px;”> echo ‘<pre>’;<br> print_r(pathinfo(“/www/htdocs/index.html”)); echo ‘</pre>’;<br></span>
调用: mixed pathinfo (string $path [, int $options] ) 返回一个关联数组包含有 path 的信息
144.opendir(): 打开目录句柄
<span style=”font-size: 14px;”>$fp=opendir(‘E:/xampp/htdocs/php/study/19’);echo readdir($fp);<br>closedir($fp);<br></span>
调用: resource opendir (string $path [, resource $context] ) 返回值: 如果成功则返回目录句柄的 resource,失败则返回 FALSE
145.readdir(): 从目录句柄中读取条目
<span style=”font-size: 14px;”>$fp=opendir(‘E:/xampp/htdocs/php/study/19’);echo readdir($fp);<br>closedir($fp);<br></span>
调用: string readdir (resource $dir_handle) 返回值: 返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回
146.closedir(): 关闭目录句柄
<span style=”font-size: 14px;”> $fp=opendir(‘E:/xampp/htdocs/php/study/19’); echo readdir($fp); closedir($fp);</span>
调用: void closedir (resource $dir_handle) 关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开 147.rewinddir() : 倒回目录句柄
<span style=”font-size: 14px;”> $fp=opendir(‘E:/xampp/htdocs/php/study/19′); echo readdir($fp).'<br />’; echo readdir($fp).'<br />’; echo readdir($fp).'<br />’;<br> rewinddir($fp); echo readdir($fp).'<br />’;<br> closedir($fp);<br></span>
调用: void rewinddir (resource $dir_handle) 输出: 将 dir_handle 指定的目录流重置到目录的开头 148.mkdir(): 新建目录
<span style=”font-size: 14px;”> mkdir(‘123’);<br></span>
调用: bool mkdir (string $pathname [, int $mode [, bool $recursive [, resource $context]]] ) 输出: 尝试新建一个由 pathname 指定的目录
149.rmdir(): 删除目录
<span style=”font-size: 14px;”> rmdir(‘123’);<br></span>
调用: bool rmdir (string $dirname) 输出: 尝试删除 dirname 所指定的目录。目录必须是空的,而且要有相应的权限。如果成功则返回 TRUE,失败则返回 FALSE
150.unlink(): 删除文件
<span style=”font-size: 14px;”> unlink(‘123/1.txt’);<br> rmdir(‘123’);<br></span>
调用: bool unlink (string $filename) 输出: 删除 filename。和 Unix C 的 unlink() 函数相似。如果成功则返回 TRUE,失败则返回 FALSE
151.copy(): 拷贝文件
<span style=”font-size: 14px;”> copy(‘index.php’,’index.php.bak’);<br></span>
调用: bool copy (string $source , string $dest) 输出: 将文件从 source 拷贝到 dest. 如果成功则返回 TRUE,失败则返回 FALSE
152.rename(): 重命名一个文件或目录
<span style=”font-size: 14px;”> rename(‘tx.txt’,’txt.txt’);<br></span>
调用: bool rename (string $oldname , string $newname [, resource $context] ) 输出: 如果成功则返回 TRUE,失败则返回 FALSE
文件的上传与下载 153.is_uploaded_file(): 判断文件是否是通过 HTTP POST 上传的
<span style=”font-size: 14px;”> if(is_uploaded_file($_FILES[‘bus’][‘tmp_name’])){if( move_uploaded_file($_FILES[‘bus’][‘tmp_name’], $NewPath) ){echo ‘ 上传成功 <br /><img src=”‘.$NewPath.'”>’;<br>}else{exit(‘ 失败 ’);<br> }<br> }else{exit(‘ 不是上传文件 ’);<br> }<br></span>
调用: bool is_uploaded_file (string $filename)
154.move_uploaded_file(): 将上传的文件移动到新位置
<span style=”font-size: 14px;”> if(is_uploaded_file($_FILES[‘bus’][‘tmp_name’])){if( move_uploaded_file($_FILES[‘bus’][‘tmp_name’], $NewPath) ){echo ‘ 上传成功 <br /><img src=”‘.$NewPath.'”>’;<br>}else{exit(‘ 失败 ’);<br> }<br> }else{exit(‘ 不是上传文件 ’);<br> }<br></span>
调用: bool move_uploaded_file (string $filename , string
时间函数
155.time(): 返回当前的 Unix 时间戳 time(); 调用: int time (void) 输出: 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数
156.mktime(): 取得一个日期的 Unix 时间戳
<span style=”font-size: 14px;”> mktime(0, 0, 0, 4, 25, 2012);<br></span>
调用: int mktime ([int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst]]]]]]] ) 156.date(): 格式化一个本地时间/日期
<span style=”font-size: 14px;”>date(‘Y 年 m 月 d 日 H:i:s’);<br></span>
调用: string date (string $format [, int $timestamp] )
输出: 2016 年 09 月 10 日 20:45:54
157.checkdate(): 验证一个格里高里日期 调用: bool checkdate ( int $month , int $day , int $year) 输出: 如果给出的日期有效则返回 TRUE,否则返回 FALSE
<span style=”font-size: 14px;”> if(checkdate(6,31,2012)){echo ‘ 成立 ’;<br>}else{echo ‘ 不成立 ’;<br>}<br></span>
158.date_default_timezone_set(): 设定用于一个脚本中所有日期时间函数的默认时区
<span style=”font-size: 14px;”> date_default_timezone_set(‘PRC’);<br></span>
调用: bool date_default_timezone_set (string $timezone_identifier)
返回值: 如果 timezone_identifier 参数无效则返回 FALSE,否则返回 TRUE。159.getdate(): 取得日期/时间信息
调用: array getdate ([int $timestamp] )
输出: 返回一个根据 timestamp 得出的包含有日期信息的关联数组。如果没有给出时间戳则认为是当前本地时间
<span style=”font-size: 14px;”> $t=getdate();<br> var_dump($t);<br></span>
160.strtotime(): 将任何英文文本的日期时间描述解析为 Unix 时间戳
<span style=”font-size: 14px;”> echo strtotime(“now”);<br> int strtotime (string $time [, int $now] ) echo strtotime(“10 September 2000”); echo strtotime(“+1 day”); echo strtotime(“+1 week”); echo strtotime(“+1 week 2 days 4 hours 2 seconds”); echo strtotime(“next Thursday”); echo strtotime(“last Monday”);<br></span>
161.microtime(): 返回当前 Unix 时间戳和微秒数 调用: mixed microtime ([ bool $get_as_float] )
<span style=”font-size: 14px;”> $start=microtime(true);<br> sleep(3); $stop=microtime(true); echo $stop-$start;<br></span>
其他常用:
162.intval(): 获取变量的整数值 调用: int intval ( mixed $var [, int $base = 10] )
通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。
var: 要转换成 integer 的数量值
base: 转化所使用的进制
返回值: 成功时返回 var 的 integer 值,失败时返回 0。空的 array 返回 0,非空的 array 返回 1。
163.sprintf(): 函数把格式化的字符串写入一个变量中语法 sprintf(format,arg1,arg2,arg++) 参数 描述 format 必需。转换格式。arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。说明 参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面的可能的 format 值:
%% – 返回百分比符号 %b – 二进制数 %c – 依照 ASCII 值的字符 %d – 带符号十进制数 %e – 可续计数法(比如 1.5e+3)%u – 无符号十进制数 %f – 浮点数(local settings aware) %F – 浮点数(not local settings aware) %o – 八进制数 %s – 字符串 %x – 十六进制数(小写字母)%X – 十六进制数(大写字母)arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
提示和注释
注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符插到 % 符号后面,由数字和“$”组成。请参见例子 3。
提示:相关函数:fprintf()、printf()、vfprintf()、vprintf() 以及 vsprintf()。
例子
例子 1
<span style=”font-size: 14px;”><?php$str = “Hello”;$number = 123;$txt = sprintf(“%s world. Day number %u”,$str,$number);echo $txt;?><br></span>
输出:
Hello world. Day number 123
164.PDO 类的相关函数 prepare() execute() fetch()
<span style=”font-size: 14px;”><?php$driver = ‘mysql’;$database = “dbname=CODINGGROUND”;$dsn = “$driver:host=localhost;unix_socket=/home/cg/mysql/mysql.sock;$database”;$username = ‘root’;$password = ‘root’;try {$conn = new PDO($dsn, $username, $password); echo “<h2>Database CODINGGROUND Connected<h2>”;<br>}catch(PDOException $e){echo “<h1>” . $e->getMessage() . “</h1>”;<br>}$sql = ‘SELECT * FROM users’;$stmt = $conn->prepare($sql);$stmt->execute();echo “<table style=’width:100%’>”;while($row = $stmt->fetch(PDO::FETCH_ASSOC)){echo “<tr>”; foreach($row as $value)<br> {echo sprintf(“<td>%s</td>”, $value);<br> } echo “</tr>”;<br>}echo “</table>”;?><br></span>
165.isset(): 检测变量是否设置。原型格式:bool isset ( mixed var [, mixed var [, …]] )
返回值:若变量不存在则返回 FALSE 若变量存在且其值为 NULL,也返回 FALSE 若变量存在且值不为 NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”“)并不等同于 PHP 的 NULL 常数。
<span style=”font-size: 14px;”>$userInfo=’abc’;if(isset($userInfo[‘account’])) {$account=$userInfo[‘account’];} else {$account=$userInfo;}</span>
166.unset(): 销毁指定的变量。函数原型: unset(var1,var2,…)
参数 描述 var1 要销毁的变量 1 var2 要销毁的变量 2
<span style=”font-size: 14px;”><?php<br> $foo = ‘php unset()’; unset ($foo); echo $foo;?><br></span>
167.preg_replace_callback: 执行一个正则表达式搜索并且使用一个回调进行替换.
原型: mixed preg_replace_callback (mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count]] ) 这个函数的行为除了 可以指定一个 callback 替代 replacement 进行替换 字符串的计算,其他方面等同于 preg_replace()。
pattern: 要搜索的模式,可以使字符串或一个字符串数组。
callback: 一个回调函数,在每次需要替换时调用,调用时函数得到的参数是从 subject 中匹配到的结果。回调函数返回真正参与替换的字符串。这是该回调函数的签名:string handler (array $matches) 你可能经常会需要 callback 函数而仅用于 preg_replace_callback()一个地方的调用。在这种情况下,你可以 使用匿名函数来定义一个匿名函数作为 preg_replace_callback()调用时的回调。这样做你可以保留所有 调用信息在同一个位置并且不会因为一个不在任何其他地方使用的回调函数名称而污染函数名称空间。
subject: 要搜索替换的目标字符串或字符串数组。
limit: 对于每个模式用于每个 subject 字符串的最大可替换次数。默认是 -1(无限制)。
count: 如果指定,这个变量将被填充为替换执行的次数。
<span style=”font-size: 14px;”><?php/* 一个 unix 样式的命令行过滤器,用于将段落开始部分的大写字母转换为小写。*/$fp = fopen(“php://stdin”, “r”) or die(“can’t read stdin”);while (!feof($fp)) {$line = fgets($fp); $line = preg_replace_callback(‘|<p>\s*\w|’, function ($matches) {<br> return strtolower($matches[0]);<br> }, $line<br> ); echo $line;<br>}<br>fclose($fp);?><br></span>
返回值: 如果 subject 是一个数组,preg_replace_callback()返回一个数组,其他情况返回字符串。错误发生时返回 NULL。
如果查找到了匹配,返回替换后的目标字符串(或字符串数组),其他情况 subject 将会无变化返回。
168.json_encode(): 对变量进行 JSON 编码
函数原型: json_encode(value,option) 参数 描述 value 必填。待编码的 value,除了 resource 类型之外,可以为任何数据类型。该函数只能接受 UTF-8 编码的数据 options 可选。JSON_HEX_QUOT 把双引号转为 u0022(php 5.3)JSON_HEX_TAG 把 < > 转为 u003C 和 u003E(php 5.3)JSON_HEX_AMP 把 & 转为 u0026(php 5.3)JSON_HEX_APOS 把单引号转为 u0027.(php 5.3)JSON_NUMERIC_CHECK 把数字字符串当作数字编码(php 5.3)JSON_PRETTY_PRINT 使用空格格式化数据(php 5.4)JSON_UNESCAPED_SLASHES 不忽略 /(php 5.4)JSON_FORCE_OBJECT 使用非关联数组时输出一个对象而不是一个数组(php 5.3)JSON_UNESCAPED_UNICODE 逐字编译多字节字符(php 5.4)
<span style=”font-size: 14px;”><?php$arr = array (‘a’=>1,’b’=>2,’c’=>3,’d’=>4,’e’=>5);echo json_encode($arr);?> </span>
以上例程会输出:
1
<span style=”font-size: 14px;”>{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}<br></span>
169.iconv(): 用于按规定的字符编码转换字符串。mb_convert_encoding() 函数也可以转换编码。
如果发现中文输出乱码的时候,很可能就需要使用此函数做处理。
函数原型: iconv(in_charset ,out_charset ,str) 参数 描述 in_charset 输入的字符集。out_charset 输出的字符集。如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。str 要转换的字符串。
<span style=”font-size: 14px;”><?php$text = “This is the Euro symbol ‘€’.”;echo ‘Original : ‘, $text, PHP_EOL;echo ‘TRANSLIT : ‘, iconv(“UTF-8”, “ISO-8859-1//TRANSLIT”, $text), PHP_EOL;echo ‘IGNORE : ‘, iconv(“UTF-8”, “ISO-8859-1//IGNORE”, $text), PHP_EOL;echo ‘Plain : ‘, iconv(“UTF-8”, “ISO-8859-1″, $text), PHP_EOL;?><br></span>
输出:
<span style=”font-size: 14px;”>Original : This is the Euro symbol ‘€