摘要:本文是对数组函数的一些实际应用的总结。实际中常用的数组array_values
,返回输入数组中所有的值并给其建立数字索引;array_filter
函数可以用回调函数过滤数组中的单元,我们可以指定具体的过滤值,也可以进行奇数和偶数过滤;有些情况下我们需要确认数组成员全部为真时,可以使用array_product
计算数组中所有值的乘积来进行处理; 当我们要统计 数组中重复次数最多的值,可以使用array_count_values
;使用array_chunk
将一个数组分割成指定大小的多个数组;array_diff_key
函数可以让我们使用键名比较计算数组的差集;当我们需要递归地合并一个或多个数组,可以使用array_merge_recursive
函数来进行处理。
【PHP语言】数组函数(一)
摘要:本系列数组函数文章主要总结了PHP
数组的用法,通过参考官方手册后做的一个整理,目的在于经常回顾和思考。结合实际的工作,对一些常用的技巧也做了梳理,比如我们可以巧用array_map()
和array_reduce()
替代foreach
循环;利用array_intersect_key()
和array_flip()
结合对关联数组进行获取指定键名;利用array_diff_key()
和array_flip()
配合使用移除数组中的指定键名;利用array_flip()
两次反转实现数组的去重;利用array_slice()
来实现数字索引的重置;使用array_splice()
来实现数组的新增、移除元素等操作。
【网络连接】DNS解析过程
摘要:当我们在浏览器中输入一段URL
并回车后,浏览器能够解析网址并生成 HTTP
消息,但是由于浏览器本身并不具备将消息发送到网络中的功能,浏览器需要委托操作系统向 DNS
服务器查询 Web
服务器的 IP
地址。应用程序(WEB
浏览器)是如何与 DNS
服务器进行交互的呢?要想回答这个问题,我们需要了解一些基础的IP
知识、Socket
库、DNS
解析器、DNS
服务器的工作原理。通过了解这些基础知识,我们明白浏览器通过调用Socket
库中的一个程序组件解析器,解析器通过协议栈和网卡与DNS
服务器进行交互,DNS
服务器优先查询本地缓存,然后依次从根域服务器、顶级域 DNS
服务器、权威 DNS
服务器递归查询找到最终对应域名的IP
地址返回给浏览器。
【网络连接】浏览器-生成HTTP消息
摘要:所谓温故而知新,为了更加全面和系统的对网络连接有更深刻的认知,在工作多年以后更需要对相关知识进行归纳和总结。本篇文章是对浏览器生成HTTP
消息的简单归纳,首先例举了常见的URL
的各种形式,其中包括HTTP URL
、FTP URL
、FILES URL
、MAILTO URL
和NEWS URL
,紧接着对HTTP
常见方法进行讲解,重点介绍了GET
和POST
的区别,GET
用于获取资源,是无副作用的,是幂等的,且可缓存; POST
用于处理资源,有副作用,非幂等,不可缓存。最后对HTTP
消息的格式进行示例详细说明,重点介绍响应状态码的分类和常用状态码的含义。
【网络连接】网络连接的全貌
摘要:本文主要回答在浏览器输入URL回车后发生了什么?实质上这个问题背后涉及了大部分计算机网络知识,如果能够站在更高的层面去思考这个问题,相信你的知识面会得到很大的扩充。我在网上参考很多资料,为了能够全面回答这个问题,最后参考了作者户根勤写的《网络是怎样连接的》这本书,本篇文章也是在学习完本书后自身所做的一些思考和整理。网络技术这么复杂,我为什么要去一点一点的去学习这些网络知识呢?用本书作者的话说就是:不理解网络的全貌,也就无法理解每一种网络技术背后的本质意义。而如果无法理解其本质意义, 就只能停留在死记硬背的程度,无法做到实际应用。