15 铮亮不锈

尚未进行身份认证

我要认证

喜欢交朋友户外运动台球等常想未竟之业笃志而行朋友这种关系最美是锦上添花花好月更圆最可贵是雪中送炭

等级
TA的排名 2w+

判断手机号是否合法的正则表达式 备注一下

经常遇到判断手机号格式是否合法的情况,这里就备注一下public static function VerifyPhone($Phone = null){ /** * 移动:134、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、178(4G)、147(上网卡); * 联通:130、131、132、155、156、185、186、176(4G)、145(上网卡);

2020-09-16 14:01:50

I/O模型 和 两种高效的事件处理模式

I/O复用是最常使用的I/O通知机制。它指的是,应用程序通过I/O复用函数向内核注册一组事件,内核通过I/O复用函数把其中就绪的事件通知给应用程序。linux上常用的I/O复用函数是select,poll和epoll_wait。需要指出的是,I/O复用函数本身是阻塞的,它们能提高程序效率的原因在于它们具有同时监听多个I/O事件的能力。SIGIO信号也可以用来报告I/O事件。我们可以为一个目标文件描述符制定宿主进程,那么被指定的宿主进程将捕获到SIGIO信号。这样,当目标文件描述符上有事件发生时,SIGNO

2020-08-20 18:48:12

用PHP实现Dijkstra算法,计算从起始点到其他任一节点的最短路径长度

一个图中有很多点,如何求出两点之间的最短距离呢?这实际上涉及到一个算法问题,如下图所示:一张图上有从A到G七个节点,如果想求出任一个节点到D节点的最短距离,该怎么办呢?参照 Dijkstra算法原理,我用PHP实现了该算法,感谢“平凡的L同学”,他的文章读后立即就能明白算法的原理。<?php/** * 这是一个节点类 */class Node { //标记该节点是否已得到最短路径 var $isMarked = false; //标记该节点离起始节点的最短路

2020-08-18 15:09:30

php实现的数组快速排序算法

快速排序算法思想$arr = [5, 2, 1, 0, 3]如果开始时选择3作为比较基准的话,$right = $arr.length -1;那就是 $arr[$right]=3;quicksort($arr, $left, $right) { 未排序区间: [i,j] [0,i):放比3小的数 (j, $right-1] :放比3大的数 通过交换值来实现放到不同区间一直到i>j为止 然后交换当前i位置数据与$arr[$right]的值 递归调用排序前一部分 q

2020-08-12 16:36:28

PHP 如何验证字符串中左右括号是否匹配

PHP笔试题,一个字符串里有很多个小括号,要求 小括号可以嵌套,但是必须保证左右匹配, 要求写出一个方法能验证该字符串中是否符合小括号规定的格式<?php/** * PHP笔试题,一个字符串里有很多个小括号,要求 小括号可以嵌套,但是必须保证左右匹配 * 给出一个方法,要求能验证该字符串中是否符合小括号规定的格式 */$input1 = '))))((((()';$input2 = '((()))()';$input3 = '((())())';$input4 = ')(()()

2020-08-09 00:39:18

PHP 如何找到数组中不重复的那些元素

一道php测试题,要求 找到数组中不重复的那些元素,主要考察使用array_count_values()这个方法的,该方法是php自身提供的一个计量某元素出现次数的一个方法,用了该方法后效率确实提高不少以下是一次算法耗时以及占用内存的一个统计情况<?php/** * 一个简单的php算法题: 要求只获取那些不重复的数据,要保证高效率 * */$input = [1,1,2,2,5,5,1,6,2,3,7,7,9,9];for ($i=0; $i<100000; ++$i) {

2020-08-07 23:00:30

组织结构的递归输出方法

一道PHP笔试题的解法,递归地输出组织架构下的每一个人的所有下属<?php$team = [ '张三' => [ '刘备'=>[ '张飞' => null, '关羽' => [ '马良' => null ], ], '孟达'=>null ], '李四' => [ '王

2020-08-01 21:35:29

array_merge/array_merge_recursive/+ 几个数组合并方法的区别

array_merge/array_merge_recursive/+ 几个数组合并方法的区别php平时开发中,经常会用到 array_merge来合并两个数组,有时候也会用 + 来合并两个数组,php手册上还有 array_merge_recursive这种合并方法,那么这三者到底有何区别呢?下面是一个实际的例子$arrA = ['a'=>1, 'b'=>2, 'c'=>3, 'aab', 'd'=>['are', 'you', 'ok']];$arrB = [1,

2020-07-29 10:36:41

laravel框架中使用GuzzleHttp并发请求多个接口

Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。发送同步或异步的请求均使用相同的接口。 使用PSR-7接口来请求、响应、分流,允许你使用其他兼容的PSR-7类库与Guzzle共同开发。抽象了底层的HTTP传输,允许你改变环境以及其他的代码,如:对cURL与PHP的流或socket并非重度依赖,非阻塞事件循环。中间件系统允许你创建构成客户端行为。

2020-06-18 10:36:01

RabbitMQ集群搭建及使用(一)

RabbitMQ的集群是依赖erlang集群,而erlang集群是通过这个cookie进行通信认证的首先我们分别在server1,server3上安装erlang sudo apt-get install erlang rabbitmq集群需要通过主机名互相访问 所以必须在这两台机器 /etc/hosts配置以上内容 确保主机名正确两台机器使用rabbitmq进行通信 使用的安全策略是 erlang.cookie 就是一个随机字符串 两节点必须保持一致 否则 无法添加节点到集群.

2020-05-28 20:50:40

Linux下搭建Consul微服务注册中心并结合swoft框架使用

首先下载consul文件包wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zipunzip consul_1.6.2_linux_amd64.zip解压之后实际上是一个单一的文件 ./consul然后配置consul集群主服务器: 192.168.56.107备份服务器:192...

2019-12-31 18:10:51

php7中的异常和错误处理

在PHP7.*版本中,一些Error和Exception可以通过try catch语句捕获到可捕获的异常/错误大致有以下三种:Error:PHP内核抛出错误的专用类型, 如类不存在, 函数不存在, 函数参数错误, 都会抛出此类型的错误,PHP代码中不应该使用Error类来作为异常抛出Exception:应用开发者应该使用的异常基类ErrorException:此异常基类专门负...

2019-12-24 14:57:45

PHP使用curl_multi_exec多线程并发抓取数据

PHP使用curl_multi_exec并行发送多个请求以下是一个使用curl_multi_exec的实际例子php文件 curl_multi.php以下是一个使用curl_multi_exec的实际例子有时候在一个PHP方法中要多次调用外部的接口,为了提高效率,我们不妨使用curl_multi_exec并行发送多个请求,可以明显地提高获取响应数据的效率,下面是一个实际运行的例子。php文件...

2019-09-16 19:17:23

Go语言切片注意事项

Go语言切片是在项目中经常使用的,在当前实例中会实现切片的赋值、赋值、追加以及在函数中通过值传递、引用传递的方式来修改切片值package mainimport "fmt"func main() { arrStr := [...]string{"java", "c","c++","python","c#","basic"} sliceStr := arrStr[1:4:5] //下...

2019-08-26 17:39:43

mysql 事务及断点

mysql 事务及断点transactionsavepoint有时候可能需要在mysql事务中部分提交一些sql命令,这时候断点就派上用场了。比如:一个事务需要修改id=6的用户的用户名和email,但是事务过程中我又不想修改email内容了,这时候就需要只提交用户名的语句。这里的两个sql语句:修改用户名update users set username=‘user6’ whe...

2019-08-02 18:30:47

模拟使用keepalived+virtual IP技术 实现nginx故障转移

概述Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。开始试验我在ubuntu18.02 虚拟机上模拟 nginx...

2019-07-31 19:21:42

php 关于__invoke方法调用

在php5.3版本及之后,当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用下面是一个调用的实例,来深刻理解一下他的运行机制。<?php/** * 当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。 */class basicA { protected $varA; protected $varB; ...

2019-07-01 20:38:00

解决chrome浏览器中鼠标滚轮滚动事件失效的问题

今天遇到了一个html5页面由于开启了图片遮罩层在chrome浏览器中,鼠标滚轮上下滚动时,页面不动的问题,后查询相关资料后解决,具体方法是加入如下代码:<scripttype="text/javascript">varscrollFunc=function(e){vardirect=0;e=e||window.e...

2019-05-24 17:23:05

GO语言切片使用注意事项

GO语言切片使用注意事项Go语言切片以下是一些代码示例 use_slice.go最终运行结果Go语言切片Go语言切片(slice)相当于动态数组,可以随意扩展元素。但是我们在使用过程中,还是要稍微注意该语言与其他语言不同的地方的,比如slice如果是截取一个数组的话,对slice重新赋值时,有可能影响被截取的数组内容,这在其他语言里是没有的。以下是一些代码示例 use_slice.gopa...

2019-04-26 17:40:05

laravel 如何实现mysql表关联以及联合

laravel mysql表关联以及联合示例代码关联条件如果是多个时,应该尽量都放到on条件下关联查询一般是,先关联到数据后在根据where条件查询,所以关联的条件很重要,尽可能加上,可以让源数据尽可能地少,减小内存的占用。laravel 如何实现多条件关联?关联查询时,如果表名特别长有时候会超出一行不太方便,这里需要使用别名laravel 如何实现表别名?mysql查询时,有时候需要...

2019-03-12 17:49:46

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享达人
    分享达人
    成功上传6个资源即可获取