• PHP 正则匹配校验身份证号码
  • 下面方法会校验15位身份证和18位身份证号码,并且还会校验生日,校验号码顺序是否合规。附上代码(复杂版):/**      * function: checkIDNum      * author: cc      * date: 2019/5/7 9:51  ...
  •  2019-05-07  |    程成  |    640  |    2  |    PHP  |   PHP  身份证号  正则匹配  
  • Laravel 中 withCount() 建立一对一、一对多关系
  • withCount 是 Laravel5.3 及其以后版本才有,5.2及其以下会报错:方法未定义。比如:我有一张学生表,一张课程表,一张班主任表。一个学生对应了一个班主任,一个学生对应了多个课程。我想通过学生表,用 withCount 连接两张表,计算出该学生的课程数量和班主任数量。原料:准备好三张表的模型代码文件。建立学生与课程老师的关联关系,且方法名和 withCount 里面名字一样。举例:学生模型 Student.php 模型中定义方法,与课程建立一对多关系  &nb...
  •  2019-04-29  |    程成  |    438  |    0  |    PHP  |   Laravel  withCount  hasMany  
  • 服务器 PHP 端实现极光推送
  • JPush 提供四种消息形式:通知,自定义消息,富媒体和本地通知。通知 或者说 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通知信息。 通知主要用来达到提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景。下面我们所讨论的都是 “通知” 形式。PHP端实现极光通知代码如下:        //初始化 JpushClient  ...
  •  2019-04-29  |    程成  |    395  |    0  |    PHP  |   极光推送  PHP  生产环境  JPush  
  • 阿里云ECS如何用宝塔安装 Laravel 环境
  • 软件配置:操作系统:Centos 7+Nginx1.8 + PHP7.2 + RDS一、材料准备(1)域名备案,解析(2)ssl证书绑定域名,登陆阿里云SSL证书管理控制台绑定并验证域名,并下载 nginx 类型留备用二、挂载数据盘注:如果你只有一个系统盘,这个步骤可以忽略。挂载目录     /www1、运行 fdisk -u /dev/vdb:分区数据盘。2、输入 p:查看数据盘的分区情况。本示例中,数据盘没有分区。3、输入 n:创建一个新分区...
  •  2019-04-22  |    程成  |    421  |    0  |    PHP  |   宝塔  Laravel  PHP  阿里云  ECS  
  • 为啥要使用 migrate 迁移数据库,以及 PHP 中如何使用 migrate
  • 网上有很多教程,教你如何使用 migrate。但是我们为什么要使用 migrate,我们要知其所以然。一、我们为什么要使用 migrate我们在开发过程中,使用到了很多的版本控制器,比如git,svn,cvs 等等,代码统一性得到了很好的保证。但是在多人开发中,我们的数据库却往往出一些问题,少一个字段,线上线下数据库不统一,我的数据库被别人覆盖了... 最关键的是还没有操作日志,也没有修改数据库的时间... 所以 migrate 就解决了这些问题。migrate 可以让开发者简洁的修改和维护数据...
  •  2019-04-18  |    程成  |    422  |    0  |    PHP  |   PHP  migrate  SQL  数据库  迁移  
  • PHPExcel 解决 Uninitialized string offset: 1 报错问题
  • 使用 PHPExcel 导出 excel 时,报了一个错:Uninitialized string offset: 1 。检查了代码,定位到是用户名称出了问题。猜测是数据问题,不是代码问题。解决方法:修改 utf8 到 uf8mb4 不管用,不是 emoji 表情类问题。检查数据库数据,发现有个数据是 “= =”,目测是这个引起的。证实确实是这个符号引起的,估计是 PHPExcel 没有过滤这种关键字。/***添加一个空格,防止出现=开头,phpexcel会出现问题***/ $sheet-&g...
  •  2019-04-15  |    程成  |    347  |    0  |    PHP  |   PHPExcel  报错  PHP  offset  
  • PHP 中 CURL 参数说明 curl_setopt
  • PHP中CURL方法curl_setopt()函数的一些参数 。bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。例如:CURLOPT_RETURNTRANSFER 选项:curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);如果成功获取的信息以文件流的形式返回,而不是直接输出。如果失败返...
  •  2019-04-12  |    程成  |    309  |    1  |    PHP  |   PHP  CURL  setopt  参数  
  • PHP回顾--堆排序
  • 一、定义堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。二、排序演示给定一个列表array=[16,7,3,20,17,8],对其进行堆排序。首先根据该数组元素构建一个完全二叉树,得到然后需要构造初始堆,则从最后一个非叶节点开始调整,调整过程如下:第一步: 初始化大顶堆(从最后一个有子节点开始往上调整最大堆)20和16交换后导致16不满足堆的性质,因此需重新调整这样...
  •  2019-04-12  |    程成  |    304  |    0  |    PHP  |   PHP  排序    
  • PHP回顾--归并排序
  • 一、定义归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。二、排序演示归并操作归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。如 设有数列{6,202,100,301,38,8,1}初始状态:6,202,100,301,38,8,1...
  •  2019-04-10  |    程成  |    285  |    0  |    PHP  |   PHP  排序  归并  
  • PHP回顾--选择排序
  • 一、定义选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。二、排序演示三、性能分析时间复杂度选择排序的交换操作介于 0 和 (n - 1) 次之间。选择排序的比较操作为 n (n - 1) / 2 次之间。选择排序的赋值操作介于 0 和 3 (n...
  •  2019-04-10  |    程成  |    323  |    0  |    PHP  |   PHP  排序  选择  
  • PHP回顾--插入排序(包含希尔排序)
  • 一、定义插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是一种稳定的排序方法。希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序效果图上面解释来源于百度百科。先抛出个结论:你可以将希尔排序理解为 预排序的插入排序,后面会解释两者具体的关系。二、排序演示1、插...
  •  2019-03-01  |    程成  |    210  |    0  |    PHP  |   PHP  排序  插入  希尔  
  • PHP回顾--快速排序
  • 一、定义基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。通俗说就是数组中找出一个随机数(一般拿数组第一个数),把它插入一个位置,让它左边的数都比它小,右边的数都比它大,这样就将一个数组分成了两个字数组。然后再根据同样的方法递归,直到不能分解为止,这个时候数组就已经排好序了。二、排序演示下面演示了用第一个数字12将数组分成了两个数组。下...
  •  2019-03-01  |    程成  |    249  |    1  |    PHP  |   PHP  排序  快速