php you need to know the basic built-in functions

怪我咯
Release: 2023-03-11 17:06:01
Original
1534 people have browsed it

Basic knowledge

1. Quote
There is a concept of reference in the PHP language, which is equivalent to a pointer. For example, $a = &$b

 <?php
            $a = 1;
            $b = &$a;
            $b = "2$b";
            echo "$a,$b"
      ?>
Copy after login

2, Operator precedence
(new) > (++, –) > (*, /, %) > (+, -) > (&&) > (||) > (?:) > (==) > (and) > (xor) > (or)

WEB Programming

1. _GET and _POST to obtain form data
2. When processing multi-select boxes, you must Define it in the form of an array in html, such as <input name="hobby[]" type="checkbox" value="sport">

Built-in function

Array built-in function

       (1) for、foreach循环输出数组元素        for:按整数顺序索引排列数组        foreach($array as $value)        foreach($array as $key=>$value)
       (2) print_r() 查看数组结构,如果在输出前输出<pre class="brush:php;toolbar:false">,页面输出的结果会更整洁
       (3) count() 计算数组元素的个数
       (4) array_chunk($array,$size,$preserve) chunk:块,数组块,组块; 函数功能时对一个数组进行分割,$array,原数组;$size,分割的数组大小,大于0;$preserve,是否使用原索引。
       (5) array_merge($array...) 数组合并,只接受array类型的参数,合并失败,返回null;如果数组索引时数字索引,会从‘0’开始编号索引;如果时字符串索引,则会出现覆盖的情况。
       (6) current() 返回数组当前的元素
       (7) prev() 返回当前元素的前一个元素,该方法会移动数组内部的指针,如果不存在前一个返回false
       (8) next() 返回当前元素的后一个元素,该方法可以移动数组内部的指针,如果不存在则返回false
       (9) end() 返回最后一个元素,该方法会移动数组内部的指针
       (10) sort($array) 对数组进行排序
       (11) rsort($array)  对数组逆序排列
       (12) asort($array) 对数组元素进行排序,保持数组的原索引关系不变
       (13) ksort($array) 对数组元素按索引名排序,保持原数组索引关系保持不变
       (14) arsot()
       (15) krsort()
       (16) shuffle() 随机打乱数组,删除原来的索引
       (17) array_reverse($array,$preserve) 将原数组按反序排序,返回排序后的数组,$preserve 是否保留索引,默认为false.
       (18) reset() 重置数组,将数组内部指针移动到第一个元素,并返回第一个元素。,如果数组为空,返回false 
       (19) list(), 将数组元素赋值给变量,严格讲,和array一样,并不是函数,仅能用于数字索引的数组,且假定索引从0开始。
       (20) 栈操作,array_push(array,mixed value)将一个或多个元素压栈,返回数组中新的元素总数; array_pop(array),出栈,栈为空,返回null
       (21) 队列操作,array_shift(array) 删除第一个元素并返回; array_unshift(array,val1,val2,...),将参数按照顺序加入队列中
       (22) array_change_key_case(array,CASE_LOWER/CASE_UPPER) 将字符串索引的转换为大小写,对数字索引不起作用
       (23) 集合操作:交集,array_intersect(array,arr1...)求数组元素的交集,array_intersect_assoc()求数组键-值的交集;差集,array_diff(array,arr1...) 求数组的差集,array_diff_assoc(array,arr1...)求键-值的差集 intersect 交集;相交 diff 
       (24) array_flip() 交换数组的键-值对,如果同一个值出现多次,则最后的索引会转换成对应的值
       (25) array_fill(int start,int num,mixed val)
       (26) array_count_values(array)  统计数组中元素的个数,返回一个数组,键时原数组的值,值为出现的次数
       (27) array_key_exists(key,array)检查索引是否存在于数组中
       (28) array_keys(array,[,searchvalue][,strict]) 获取所有的索引;array_values(),返回所有的元素,而不管是否重复
       (29) array_map(callbackfunc,arr1,arr2,...),数组的个数与回调函数的参数相同
       (30) array_filter(array,callbackfunc); 过滤数组中的元素,当回调函数返回true时,元素放到结果集中,键名保持不变。
       (31) in_array(var,array) var是否在array中
       (32) key(array) 返回当前元素的key
Copy after login

String built-in function

       (1) 分割合并 explode(separator,str[,limit]) 使用字符串separator分割字符串str,limit用于限制返回数组中最多有几个元素;implode(bds,array),将数组合并成字符串,使用bds链接元素
       (2) 比较和替换 strcmp(str1,str2) ;str_replace(search,replace,str),将str中search全部替换成replace,变形str_replace(searchArr,replaceArr,str),参数也可以是数组;substr_replace(string,replacement,start[,length]) 将string的start后的length长度(默认到结尾)的字符串替换为replacement,start和length可以为负数,表示从尾部开始,length为负数时表示倒数但是不包括倒数第length个。
       (3) 输出,print 严格的讲,print是语言结构,而不是函数,与echo的不同是print返回值是1,而echo没有返回值;echo可以打印多个string,而print只能打印一个string。
       (4) 格式化输出 sprintf(format,mixed args) ,类似于C 语言的格式化输出,类似的函数printf ,在这里假如使用$进行补齐,需要使用"&#39;$"这样的写法
       (5) 获取子串 substr(string,start,length) 从string的start位置开始截取length长度的子字符串;strstr(string,needle,flag) 查找string中needle第一次出现的位置,并返回之后的所有字符(包括本字符),若flag为true,则返回之前的所有字符(不包括本字符);strchr() 同strstr;strrchr(string,needle,flag) string中needle最后一次出现的位置,返回之后的所有字符;strpos(string,needle[,start]) needle在string中第一次出现的位置。
      (6) 删除首位两端的多余字符,trim(),ltrim(),rtrim(),默认删除两端的空白字符,也可以自己指定。如trim(string,reStr)
      (7) 获取字符串长度 strlen(string) ,mb_strlen(string,encode)
      (8) 大小写转换 strtolower strtoupper
      (9) 处理html标记的字符串 htmlentities(string) htmlspecialchars();html_entity_decode(string) 将html实体解析成字符串
      (10) 重复生成字符串 str_repeat(string,num);str_pad(string,length,pad,pad_type) pad_type的值是常量,STR_PAD_LEFT,STR_PAD_RIGHT,STR_PAD_BOTH。使用pad在string的pad_type端补齐成长度为length的字符串。
      (11) 散列值 md5() sha1()
      (12) str_split(string[,split_length]) 将string分割成长度为length的子字符串并返回一个数组;split(regex,string) 支持正则,根据regex分割字符串string
Copy after login

File operation built-in function

      (1) opendir(path) 打开目录,返回一个资源类型的数值
      (2) closedir(path) 关闭目录
      (3) readdir(dir) 读取文件夹,获取文件夹下的文件名而不是文件路径
      (4) scandir(string dir) 返回文件夹中的文件名数组,失败返回false,参数dir不是目录返回false   
      (5) getcwd() 获取当前的工作目录
      (6) chdir() 改变当前的目录
      (7) fp=fopen(filename,mode) 打开文件,返回一个资源类型数据,失败返回false
      (8) fclose(fp) 关闭文件,参数是fopen的返回值
      (9) fgets(fp) 读取一行,参数需要是一个文件句柄
      (10) file(filename) 读取整个文件,返回一个数组,每一个元素为文件的一行
      (11) get_file_contents(filename) 将整个文件读到一个字符串中;fread(fp,length) 读取整个文件,可以安全读取二进制文件,如果单纯的想将一个文件的内容读取到字符串,应该使用性能更好的file_get_contens();                  
      (12) readfile() 读入整个文件,并写入输出缓冲区,返回读取的字节数
      (13) fwrite(fp,content),返回写入的字节数,
      (14) fputs(),与fwrite一样
      (15) file_put_contents(filename,data,mode),返回写入的字节数,data可以是一维数组,mode的取值FILE_USE_INCLUDE_PATH,FILE_APPEND,LOCK_EX
      (16) fileowner(filename) 返回文件拥有者ID 
      (17) filesize() 取得文件的大小
      (18) filetype() 取得文件类型,返回值file,dir,link,block,unknown
      (19) is_dir(filename) is_file(filename) isreadable() iswriteable()
      (20) basename(filename[,suffix]) 取得路径中的文件名部分,若suffix存在则返回的文件名不包括suffix,可以用于去除扩展名; dirname() 取得路径中的目录名部分
      (21) file_exists(filename) 判断文件是否存在
      (22) mkdir(pathname,mode) 创建成功返回true,失败返回false
      (23) rmdir(pathname) 目录必须空目录
      (24) unlink(filename) 删除文件
      (25) copy(source,desc) 将source复制到desc,成功返回true
      (26) rename(oldname,newname)
      (27) fgetss(handle) 可以使用fopen打开url,此时fgetss可以过滤掉html标签
      (28) include() require() 
      (29) filemtime() fileatime() filectime() 返回unix时间戳
Copy after login

Time and date built-in function

      (1) date(format[,timestamp])
      (2) mktime(hour,minute,second,month,day,year) 省略的参数将以本地日期和时间代替。
      (3) getdate([timestamp])
Copy after login

URL processing built-in function

      (1) urlencode(str) 返回值字符串中所有的非字母和数字字符变成一个百分号(%) 和一个两位的十六进制数,空格被转换成+,-、_和.不做任何转换
      (2) urldecode(str)
Copy after login

Mathematical operations

      (1) abs(num)
      (2) ceil(num)
      (3) floor(num) 
      (4) sqrt(num)
      (5) round(num,precision) 四舍五入成指定precision位数
      (6) 进制之间的转换 bin 二进制,dec 十进制, oct 八进制,hex 十六进制,十进制转二进制 decbin(num) ,十进制转八进制 decoct(num) ,其余类似,不存在二进制、八进制、十六进制之间的转换,若要实现这些转换,可以使用base_convert(num,from,to) 如 base_convert("A4",16,2);定义十六进制时不需要加0x34  
      (7) rand() mt_rand(min,max) 随机数,其中mt_rand()可以生成指定范围内的随机数,默认时0~RAND_MAX
Copy after login

Database operations

      (1) 连接数据库 conn = mysql_connect(host,username,password)
      (2) 关闭链接 mysql_close(conn);
      (3) 执行语句 mysql_query(sql) 仅对show,select,describe等语句返回一个资源标示,对于其他SQL语句,mysql_query() 在执行成功时返回TRUE,出错时返回FALSE
      (4) 处理查询结果集 
            mysql_affected_rows() 取得前一次mysql操作所影响的记录行数,失败返回-1
            mysql_fetch_row($result) result是执行mysql_query()之后返回的资源标识,该函数从查询结果集中返回一行数据。该函数返回值时一个数组,其中每一个元素对应一行结果记录的字段值。依次调用该函数可以返回结果集中的下一行,如果没有更多行,函数返回false。
            mysql_fetch_array(result,type) 返回一行关联数组,或普通数组,或二者兼有,type:MYSQL_ASSOC 返回关联数组 MYSQL_NUM 普通数组 MYSQL_BOTH 二者兼有,通常使用该函数获取各字段的值
            mysql_fetch_assoc(result) 与mysql_fetch_array()类似,返回的时关联数组
      (5) 获取字段信息 mysql_fetch_field(result[,field_offset]) 返回一个object对象,属性包括包括name,table,not_null,primary_key等
      (6) 选择数据库,mysql_select_db(databasename) 链接上数据库之后,使用该函数选择databasename数据库
      (7) 获取结果集行数 mysql_num_rows(result) ,仅对select语句有效;要取得insert,update,delete执行影响的结果行数,需要使用mysql_affected_rows()
Copy after login

Regular expressions

      (1) int ereg(pattern,string[,&regs]) pattern 正则表达式,待匹配string,匹配结果放在regs中,其中regs[0] 存放匹配到的整个字符串,其余的1,2...依次存放合乎规则的字符串。省略regs,则只单纯使用正则表达式作匹配,如果在string中找到pattern模式的匹配,那么该函数返回所匹配字符串的长度,如果没有传递入可选参数regs或者所匹配的字符串长度为0,则返回1,如果没有找到匹配或者出错,返回false。        
      (2) int eregi(pattern,string,regs) 忽略大小写
      (3) split(pattern,string[,limit]) 利用正则表达式分割字符串
      (4) sql_regcase(string) 返回string相匹配的正则表达式,这个正则表达式不区分大小写
      (5) ereg_replace(pattern,replacement,string) 替换匹配字符串,eregi_replace(pattern,replacement,string) 不区分大小写
      (6) 与perl兼容的正则表达式函数,perl正则表达式需要使用定界符(/),比如,"/<\/\w+>/"。函数:array preg_grep(pattern,input[,flag]) 类似ereg(),返回相匹配的元素,当flag=1时,返回数组中时不匹配元素;
      (7) int preg_match(pattern,subject,matches[,flag]); 类似ereg(),捕获的匹配放到mathes中
      (8) int preg_match_all(pattern,subject,matches[,flag]); 全局搜索,找到第一个匹配之后,会继续搜索。搜索的结果存放在matches;
      (9) mixed preg_replace(pattern,replacement,subject[,limit]),其中公pattern,replacement可以是数组。
      (10) array preg_split(pattern,subject[,limit[,flag]])
Copy after login

The above is the detailed content of php you need to know the basic built-in functions. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!