php 常用的系统函数
1 字符串函数 2 3 strlen:获取字符串长度,字节长度 4 5 substr_count 某字符串出现的次数 6 7 substr:字符串截取,获取字符串(按照字节进行截取) 8 9 mb_strlen 10 mb_substr 11 12 strchr:与substr相似,从指定位置截取一直到最后 13 14 strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符 15 16 strtolower:所有的字符都小写(针对英文字母) 17 18 strtoupper:所有的字符都大写 19 20 strrev:字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转 21 22 strpos:从字符串中找对应字符出现的位置(数字下标),从最左边开始找 23 24 strrpos:与strpos一样,只是从字符串的右边开始找 25 26 trim:去掉函数两边的字符,默认是空格 27 28 str_split 函数把字符串分割到数组中。 29 30 chunk_split() 函数把字符串分割为一连串更小的部分 31 32 str_repeat("Shanghai",5);把字符串 "Shanghai " 重复 5 次 33 34 str_replace('\\', '/', dirname(DIR))); 替换 35 36 ucfirst 首字母大写 37 时间日期函数 38 39 time:得到当前时间的时间戳(整型:从格林威治时间1970年1月1日0时0分0秒开始)秒数 40 41 date:时间序列化函数,将指定的时间戳转换成规定时间日期的显示格式(随意的字符串:有专业的格式符规定),如果没有指定时间戳,系统默认使用当前时间的时间戳 42 43 strtotime:时间日期格式的字符串转换成对应的时间戳(只要是正确的英语时间表达方式,都可以进行转换) 44 45 microtime:微秒时间戳,根据不同的要求返回不同的结果 混合 microtime (布尔类型 ),可以返回一个浮点数的时间,也可以返回一个数组(时间戳和微秒数) 46 数学相关函数 47 48 abs:绝对值 49 50 floor:向下取整 floor(3.2) 结果等于3 51 52 ceil:向上取整 53 54 round:四舍五入 55 56 rand:取得一个指定范围内的随机整数 57 58 mt_rand:取得一个指定范围内的随机整数(效率更高) 59 60 min:PHP 会将非数值的 string 当成 0,但如果这个正是最小的数值则仍然会返回一个字符串。如果多个参数都求值为 0 且是最小值,min() 会返回按字母表顺序最小的字符串,如果其中没有字符串的话,则返回数值的 0; 61 62 max:PHP 会将非数值的字符串当成 0,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个参数都求值为 0 且是最大值,max() 会返回其中数值的 0,如果参数中没有数值的 0,则返回按字母表顺序最大的字符串。对于多个数组,max从左到右比较;如果同时出现数组和非数组参数总把数组作为最大值返回; 63 数组相关函数 64 65 count() // 非数组返回1 66 67 key:获取当前数组当前指针所指向的元素的下标 68 69 current:获取的当前指针指向元素的数值 70 71 next:获取下一个元素的值,并且将指针下移 72 73 prev:获取上一个元素的值,并且将指针上移 74 75 end :将指针移到数组的最后一个元素,并返回最终指针位置的值 76 77 reset:将指针移到数组的第一个元素,返回最终指针位置的值 78 79 array_keys:获取一个数组的所有键名,返回一个索引数组 80 81 array_values:获取一个数组的所有值,返回一个索引数组 82 83 explode:爆炸,将一个字符串按照某个指定的规则(通常是特殊字符),将数组分成多个段,每一段都当做一个数组的元素,返回一个索引数组 84 85 split 类似 explode explode('.', 'abc.txt')等于split('\.','abc.txt') 86 87 implode:粘合,将一个数组内部的所有元素按照某个指定的规则(特殊字符),将所有的元素拼接成一个字符串 88 89 join() 把数组元素组合为一个字符串 90 91 array_merge:合并,指的是将两个数组中的元素进行累计。如果后面的数组与前面的数组有下标(键名:关联)相同的,那么后面的元素的值会覆盖前面的;如果是索引的相同下标,会自动的修改下标叠加到前面的数组里。 92 93 array_reverse — 返回反转后的数组 94 95 array_flip — 交换数组中的键和值 96 数据结构模拟函数 97 98 array_shift:从数组的前面弹出元素,得到元素的值 99 100 array_pop:从数组的后面弹出元素,获得元素的值 101 102 array_unshift:从数组的前面压入元素,得到当前数组元素的个数 103 104 array_push:从数组的后面压入元素,得到当前数组元素的个数 105 判断变量 106 107 is_bool:判断是否是布尔类型 108 109 is_float:判断浮点型 110 111 is_integer:判断整型 112 113 is_object:判断对象 114 115 is_array:判断数组 116 117 is_string:判断字符串 118 119 is_resource:判断资源 120 121 is_scalar:scalar是标量的,判断是基本数据类型:整型,浮点型,布尔型和字符串型 122 123 is_null 检测变量是否为NULL 是返回TRUE 否则返回false。1.被赋值为NULL;2.变量没被赋值;3.被unset() 124 125 is_numeric:判断数字或者纯数字组成的字符串 126 127 gettype:获得数据类型 128 129 settype:改变数据类型 130 131 isset 132 133 unset() 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值,如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 134 empty//array(),"",0,"0",NULL,FALSE 都返回true 135 文件操作函数 136 137 opendir(路径):打开一个路径资源(将路径内部的所有数据读入到内存) 138 139 readdir(路径资源):从文件夹资源中读取当前资源指针所指向的文件的名字,指针会向下移动一位 140 141 closedir(资源):释放对应的文件资源 142 143 scandir(路径):读取一个路径内部的所有文件名,返回一个数组,数组的每一个元素都是文件名。 144 145 file_exists:判断一个文件是否存在(文件是广义:路径和文件) 146 147 is_dir:判断一个指定路径是否存在(文件夹) 148 149 is_file:判断一个指定路径是否是文件(文件) 150 151 mkdir:创建一个路径,如果路径存在就会报错 152 153 rmdir:移除文件夹 154 155 file_get_contents:从一个指定的文件内读取数据内容。 156 157 file_put_contents:将指定的字符串写入到对应的文件 158 159 fopen:打开一个文件资源 160 161 fgetc:c代表character,一次读取一个字符 162 163 fgets:s代表string,代表可以读取多个字符,取决于指定的读取长度或者是否碰到换行(最多只能读取一行数据) 164 165 两个函数都是对当前资源指针进行操作,读取之后都会将指针下移 166 167 fread:获取指定长度的数据直到文件结束 168 169 fwrite:向文件资源指针所在的位置写入数据,写东西不会将当前位置已有的东西往后移,而是会覆盖 170 171 fseek:将指针指定到对应的位置 172 173 fclose:使用对应的文件资源 174 175 copy:复制 176 177 unlink:删除文件 178 179 rename:重命名文件 180 181 filemtime:m代表modify,文件最后被修改的时间 182 183 filesize:文件大小(字节) 184 185 fileperms:文件权限(Linux下的八进制) 186 排序 187 188 rsort() 函数用于对数组单元从高到低进行排序。 189 asort() 函数用于对数组单元从低到高进行排序并保持索引关系。 190 arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。 191 ksort() 函数用于对数组单元按照键名从低到高进行排序。 192 krsort() 函数用于对数组单元按照键名从高到低进行排序。 193 报错 194 195 error_reporting(E_ALL) 196 197 ini_set('display_errors', 1) 198 常量 199 200 define() 定义常量 201 defined() 检测常量是否定义 202 序列化 203 204 serialize 205 206 unserialize 207 208 json_encode 对变量进行 JSON 编码 209 210 json_decode 对JSON 格式的字符串进行编码 211 编码 212 213 base64_encode 本函数将字符串以 MIME BASE64 编码。在 BASE64 编码后的字符串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字符,不包含其它特殊的字符,因而才取名 BASE64。 214 215 base64_decode 解码