-
PHP排序算法系列之归并排序详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:192
归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一[详细]
-
PHP排序算法系列之直接选择排序详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:112
直接选择排序 直接选择排序(Straight Select Sorting) 的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,….,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,…..,第n-1次从R[n-2]~R[n-1]中[详细]
-
PHP排序算法系列之插入排序详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:77
插入排序 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个[详细]
-
PHP实现桶排序算法
所属栏目:[PHP教程] 日期:2021-04-01 热度:89
简单意义上的桶排序: 桶排序的原理是先安排N+1个桶作为容器,若数据范围为N的话。然后将测试数据(所需排序的数据)进行循环,放入对应的桶内。数据一定是在范围N内的。最后,循环桶里的元素,并且输出,进行从大到小或从小到大的排序。 例如: 我们的取值范围是10,[详细]
-
PHP排序算法系列之桶排序详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:147
桶排序 桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是[详细]
-
微信小程序之支付后调用SDK的异步通知及验证处理订单方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:132
小程序之后的异步验证和订单处理 namespace appapiservice; use appapimodelProduct; use applibenumOrderStatusEnum; use thinkDb; use thinkException; use thinkLoader; use appapimodelOrder; //在这里依然引入WxPay.API.php即可完成引入[详细]
-
Lumen timezone 时区设置方法(慢了8个小时)
所属栏目:[PHP教程] 日期:2021-04-01 热度:50
根据 Laravel 4.x 和 5.0 的经验,只需要到 config/app.php 中设置下 ‘timezone' 参数为 ‘PRC' 就好了,找到 Lumen 的 config 目录,在 /vendor/laravel/lumen-framework/config 路径下,但是 config/app.php 的参数选项中没有 timezone 参数选项,手动加上后也[详细]
-
php nginx 实时输出的简单实现方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:120
PHP 里开启实时输出方法是 ob_implicit_flush() , 但它大部分情况下都不管用, 因为 php.ini 配置里 output_buffering 输出缓冲大部分是 On 开启的, 还有 zlib.output_compression 也经常会被开启, 除了 PHP 这一层,还有 Nginx 的缓冲设置 proxy_bufferi[详细]
-
php通过header发送自定义数据方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:117
本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。 发送header: 我们定义了三个参数, token 、 language 、 region ,放入 header 发送过去 'fdipzone');$response = tocurl($url[详细]
-
php利用ob_start()清除输出和选择性输出的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:156
一、背景 有一段代码,因为调用了封装的方法,所以会有一些本来不需要的返回值。这些返回值该怎么处理才能让它消失呢。有的人会说,清除变量不就好了吗?但假如这个返回值无法清除,那又该怎么办呢? 二、ob_start() 1、概念: 此函数将打开输出缓冲。当输出[详细]
-
PHP实现合并两个排序链表的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:148
本篇章节讲解PHP实现合并两个排序链表的方法。供大家参考研究具体如下: 问题 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解决思路 简单的合并排序。由于两个数列本来就是递增的,所以每次将[详细]
-
php实现的mongoDB单例模式操作类
所属栏目:[PHP教程] 日期:2021-04-01 热度:165
本篇章节讲解php实现的mongoDB单例模式操作类。供大家参考研究具体如下: 看了好多mongo类都不尽人意。最后发现根本不需要自己封装类。php mongo 的扩展自带的方法就已经很方便了 但是习惯性的把数据库连接部分封装起来。最后我就封装了一个单例模[详细]
-
PHP实现按之字形顺序打印二叉树的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:106
本篇章节讲解PHP实现按之字形顺序打印二叉树的方法。供大家参考研究具体如下: 问题 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解决[详细]
-
PHP获取二叉树镜像的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:156
本篇章节讲解PHP获取二叉树镜像的方法。供大家参考研究具体如下: 问题 操作给定的二叉树,将其变换为源二叉树的镜像。 解决思路 翻转二叉树,有递归和非递归两种方式,非递归就是使用队列。 实现代码 val = $val; }}*/function Mirror( $queue =[详细]
-
PHP获取链表中倒数第K个节点的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:70
本篇章节讲解PHP获取链表中倒数第K个节点的方法。供大家参考研究具体如下: 问题 输入一个链表,输出该链表中倒数第k个结点。 解决思路 注意这个题目是返回节点,而不是返回值。返回值的话可以用栈来存储。返回节点则不能这样做。 设置两个指针,[详细]
-
PHP实现从上往下打印二叉树的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:107
本篇章节讲解PHP实现从上往下打印二叉树的方法。供大家参考研究具体如下: 问题 从上往下打印出二叉树的每个节点,同层节点从左至右打[详细]
-
PHP递归实现快速排序的方法示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:51
本篇章节讲解PHP递归实现快速排序的方法。供大家参考研究具体如下: 首先我们要理解一下 快速排序的原理 : 不难发现,这里符合递归的原理,所以我们可以用递归来实现。 使用递归,则需要找到递归点和递归出口: 递归点: 如果数组的元素大于1,就[详细]
-
利用PHP判断是手机移动端还是PC端访问的函数示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:150
前言 最近在开发项目的时候,分别开发了PC端和手机端,需要实现,用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC端网站,于是有了下面这个判断函数: 示例代码: PHP isset 函数作用 isset函数是检测变量[详细]
-
PHP实现生成模糊图片的方法示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:114
本篇章节讲解PHP实现生成模糊图片的方法。分享给大家供大家参考,具体如下: image_create_from_ext($srcImg); $srcImgObj=$this->blur($gdImageResource,$blurFactor); $temp = pathinfo($srcImg); $name = $temp['basename']; $path = $temp['dirname'];[详细]
-
php实现socket推送技术的示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:127
在socket出现之前已经有ajax定时请求、长轮询等方案,但都不能满足需求,socket就应用而生了。 socket基本函数 总结下常用的socket函数 服务端: socket_create 创建socket设置基本参数 socket_bind 绑定ip和端口号 socket_listen 监听 socket_accept 客户端[详细]
-
PHP二维数组实现去除重复项的方法【保留各个键值】
所属栏目:[PHP教程] 日期:2021-03-31 热度:99
本篇章节讲解PHP二维数组实现去除重复项的方法。供大家参考研究具体如下: 对于如下二维数组,要求对其进行去重: array( 'name[详细]
-
PHP实现git部署的方法教程
所属栏目:[PHP教程] 日期:2021-03-31 热度:158
背景 在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追踪问题或者回滚是很轻松的事情。 因为在小公司上班,原先的系统还在使用传统的ftp上传部署,部署太麻烦,也不好管控线上的代码。在网上找了下git部署的教[详细]
-
PHP实现的折半查找算法示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:193
本篇章节讲解PHP实现的折半查找算法。供大家参考研究具体如下: 定义: 折半查找技术,也就是二分查找。它的前提是线性表中的记录必须是关键码有序(通常从大到小有序),线性表必须采用顺序存储。 折半查找的基本思想: 取中间记录作为比较对象,[详细]
-
PHP实现的字符串匹配算法示例【sunday算法】
所属栏目:[PHP教程] 日期:2021-03-31 热度:121
本篇章节讲解PHP实现的字符串匹配算法————sunday算法。供大家参考研究具体如下: Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是: = $text_len) return false; $i = 0; for($i = 0; $i 运行结果: 更多关于PHP相关内[详细]
-
PHP实现的二分查找算法实例分析
所属栏目:[PHP教程] 日期:2021-03-31 热度:100
本篇章节讲解PHP实现的二分查找算法。供大家参考研究具体如下: 二分查找法需要数组是一个有序的数组 假设我们的数组是一个递增的数组,首先我们需要找到数组的中间位置. 一。要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值来[详细]