前端冷知识(持续更新2020.12.13)
- 2020 年 12 月 13 日
- 筆記
(持续更新哟,点波关注和收藏吧)
!!!如要学习具体需要善于运用搜索引擎。!!!
php冷知识
1.print和echo都不是真正的函数,但都可以以带有参数的函数形式进行调用。最关键的是 : echo要比print速度快。
printf()函数将一个格式化的字符串出入到浏览器中,
sprintf()函数是返回一个格式化后的字符串。
2.双引号””中,变量名称将被变量值替代!!!(浏览器echo写入一句话的时候记得\注释);
单引号”中,变量名称或其他任何文本将不经修饰发送给浏览器;
反向单引号“中,里面的命令将试着当作服务器端命令行命令来执行。
3.用gettype()函数获取变量类型,用settype()函数改变变量类型,intval()转为整数
类型有bool,int,double(浮点型),string,array,object,resource,NULL。
除此之外php还有很多特定的类型测试函数is_xxx(),如is_array(),is_scalar()等等。
4.isset()变量存在且值不为null返回true,其余相反,
empty()变量存在且是一个非空非零的值时返回false,其余相反。
5.elseif等于else if,在一系列的级联elseif语句中,只有第一个为true条件下的语句将被执行。
6.如果没有break,switch语句将执行case值为true的以下所有代码,例如
当$a的值为0时将执行所有语句,当$a的值为2时只执行最后一条语句。
7.==为弱等于,===为恒等于。
8.fopen()文件模式作用(ps:打开文件,从文件头开始):
r(只读)。(ps:无)
r+(读写)。(ps:无)
w(写)。(ps:如果文件已存在,将删除文件所有内容,如不存在将创建)
w+(读写)。(ps:无)
x(谨慎写)。(ps:如果已有文件,则不会打开且返回false,且php产生一个警告)
x+(谨慎读或写)。(同上)
a(追加写)。(ps:如已有文件,从文件末尾开始追加,如没有,则创建。)
a(追加写或读)。(同上)
b(二进制)。(用于与其他模式进行连接……)
t(文本)。
(ps:以上字母后面是作用,并不是严格意义的模式名称)
9.fputs()是fwrite()的别名,可用file_put_contents()代替fwrite()。
10.feof()唯一参数是文件指针,如指向文件末尾则返回true。
使用feof()作为文件结束的测试条件。
11.fgets()读取文件内容,每次一行。
fgetss()同上,还可选择过滤。
fgetcsv()当使用了分隔符(例如制表符或者逗号)的时候可以选择分行,
可用explode(),implode()(同join()作用),join()(效果和explode()相反),strtok()(一次从字符串取一个子字符串) 分隔。
12.读取整个文件:readfile(),fpassthru()(ps:需要先用fopen()打开文件,然后再将文本指针作为参数传递给fpassthru(),这样就可以把所指向文件内容发送到标准输入,然后再将文件关闭。成功返回true失败返回false。),file()(把结果发送到一个数组),file_get_contents()(以字符串的形式返回文件内容)。
13.读取一个字符fgetc(),一次读取一个字符。读取任意长度fread()。
14.查看文件是否存在file_exists()。确定文件大小filesize()。删除一个文件unlink()。可以对文件指针进行操作,在文件中定位:rewind(),fseek(),ftell()。文件锁定flock()(ps:无法在NFS或其他网络文件系统中使用,无法在多线程服务器API中使用)。
!!!如要学习具体需要善于运用搜索引擎。!!!
15.array()和echo一样实际上是一个语言结构而不是函数。(可用[]代替array()。)
sort()(按值从小到大排序), rsort()(加r反序),usort()(加u自定义);
asort()(对数组进行排序并保持索引关系),arsort()(加r反序),uasort()(加u自定义);
ksort()(按照键名排序),krsort()(加r反序),uksort()(加u自定义)。
使用以上函数进行排序,或创建用户自定义排序函数或使用array_multisort()函数。
也可使用array_reverse()(与原来数组相反排序),shuffle()随机。
“=”可以将数组复制到另一个数组,添加数组元素array_push(),删除数组元素array_pop()。sizeof()是count()的别名函数。
通过count(),sizeof(),array_count_values() 统计数组元素。
16.访问数组可用[]或{}。foreach()循环转为数组和对象打造,索引数组也可用list()(ps:可以将一个数组分解为一系列的值)和each()(ps:返回数组的当前元素,并将下一个元素作为当前元素,数组将记录当前元素,如需多次使用数组,用reset()函数将当前元素作为数组的开始。)
extract()将数组转化为标量变量。
以相同方式使用或者修改数组中每一个元素用array_walk()。
17.键与值之间用=>符号。
18.<>与!=相同。+为联合操作符,尝试把后面数组元素添加到前面数组的末尾,若具有相同的键则不被添加。
19.了解算术操作符,逻辑操作符,位操作符,比较操作符,数组操作符等。
20.数组浏览:each(),next(),使指针指向下一个元素。
prev()(和next()相反),end(),逆序遍历。
current()(返回数组中的当前单元),pos()(current()的别名)。
reset()(前文有)。
21.字符串截断(默认除去字符\n,\r,\t,\x0B,\0,空格):
trim()(还除去字符串开始位置和结束位置的空格,并返回)
rtrim()的别名函数chop()(从结束处除去空格)
ltrim()(从开始处除去空格)
22.使用htmlspecialchars()函数过滤输出至浏览器的字符串(实体编码)。
使用str_replace(),substr_replace()函数进行过滤或替换子字符串。
使用nl2br()函数进行html格式化。使用substr()得到某个固定格式字符串的一部分。
23.了解转换规范支持的类型码
24.字符串的排序:strcmp(),strcasecmp()(不区分大小写),strnatcmp()(按照自然排序)
25.strlen()判断字符长度
26.在字符串中查找字符串:strstr(),strchr(),strrchr(),stristr()
27.查找子字符串的位置:strpos()和strrpos()
28.了解正则表达式,目前通常是perl风格,使用PCRE正则表达式,每个表达式必须包含在一对分隔符中,最常见的分隔符是 / ,如/xluo/,如果要在正则表达式中匹配/需要用反斜杠\转义,如/xluo\/\//,PCRE正则表达式语法链接。了解模式修饰符,链接。
29.
30.
协议冷知识
1.HTTP是Hyper Text Transfer Protocol,超文本传输协议;
FTP是File Transfer Protocol,文件传输协议;
ftp的协议和http协议的主要区别在于ftp是需要用户名和密码才能访问(匿名登陆除外),这样做的目的在于有的文件只供特殊人访问,而http协议是任何人都可以访问的。