-
PHP实现统计一个数字在排序数组中出现次数的方法
所属栏目:[PHP教程] 日期:2021-04-02 热度:91
本篇章节讲解PHP实现统计一个数字在排序数组中出现次数的方法。分享给大家供大家参考,具体如下: 题目 统计一个数字在排序数组中出现的次数。 题解 既然是排序数组,使用二分查找是效率最高的。找到之后再向两侧拓展一下。 代码 >1; if($data[$middle]==$[详细]
-
PHP调用ffmpeg对视频截图并拼接脚本
所属栏目:[PHP教程] 日期:2021-04-02 热度:147
PHP脚本调用ffmpeg对视频截图并拼接,供大家参考,具体内容如下 目前支持MKV,MPG,MP4等常见格式的视频,其他格式有待测试 12P 一张截图平均生成时间 1.64s 100个视频,大概需要2分半左右 9P 一张截图平均生成时间 1.13s 100个视频,大概需要2分钟左右 6P 一[详细]
-
PHP实现判断二叉树是否对称的方法
所属栏目:[PHP教程] 日期:2021-04-02 热度:175
本篇章节讲解PHP实现判断二叉树是否对称的方法。供大家参考研究具体如下: 问题 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 题解 递归判断二叉树两侧。 实现代码: val =[详细]
-
PHP利用一行代码删除目录下所有文件方法示例
所属栏目:[PHP教程] 日期:2021-04-02 热度:88
前言 想必很多人都会写几行甚至几十行代码使其列出所有文件变为数组进行删除,但是glob函数分分钟解决问题!下面来一起看看详细的介绍吧。 glob语法说明: glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells[详细]
-
PHP7扩展开发之基于函数方式使用lib库的方法详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:130
本篇章节讲解PHP7扩展开发之基于函数方式使用lib库的方法。供大家参考研究具体如下: 前言 首先说下什么是lib库。lib库就是一个提供特定功能的一个文件。可以把它看成是PHP的一个文件,这个文件提供一些函数方法。只是这个lib库是用c或者c++写的。[详细]
-
Yii2中的场景(scenario)和验证规则(rule)详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:90
前言 场景,顾名思义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟你所理解的场景含义差不多。 和用户有交互的系统必不可少的功能包括收集用户数据、校验和处理。实际业务中,往往还需要将数据进行持久化存储。出于安全考虑,开发人员应当牢牢把[详细]
-
MixPHP、Yii和CodeIgniter的并发压力测试小结
所属栏目:[PHP教程] 日期:2021-04-01 热度:127
前言 MixPHP 是一个基于 Swoole 的高性能框架,CodeIgniter 是一个元老级的轻量级框架,Yii 是一个非常流行的框架,以下是三个框架的对比。 由于Yii/CodeIgniter 是基于 Apache/PHP-FPM 的传统框架,如果使用 MixPHP 的正常 Swoole 部署方式来对比,显得有些[详细]
-
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例
所属栏目:[PHP教程] 日期:2021-04-01 热度:170
本篇章节讲解PHP基于非递归算法实现先序、中序及后序遍历二叉树操作。供大家参考研究具体如下: 概述: 二叉树遍历原理如下: 针对上图所示二叉树遍历: ABDHECFG HDBEAFCG HDEBFGCA 实现方法: 先序遍历: 利用栈先进后出的特性,先访问根节点,[详细]
-
PHP使用两个栈实现队列功能的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:58
本篇章节讲解PHP使用两个栈实现队列功能的方法。供大家参考研究具体如下: 问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解决思路 两个栈。出栈的时候,如果栈2不为空,就出栈2。如果栈2为空,就把栈1的出栈[详细]
-
PHP实现找出链表中环的入口节点
所属栏目:[PHP教程] 日期:2021-04-01 热度:174
本篇章节讲解PHP实现找出链表中环的入口节点。供大家参考研究具体如下: 问题 一个链表中包含环,请找出该链表的环的入口结点。 解决思路 第一步,找环中相汇点。分别用p1,p2指向链表头部,p1每次走一步,p2每次走二步,直到p1==p2找到在环中的相[详细]
-
PHP实现可添加水印与生成缩略图的图片处理工具类
所属栏目:[PHP教程] 日期:2021-04-01 热度:163
本篇章节讲解PHP实现可添加水印与生成缩略图的图片处理工具类。分享给大家供大家参考,具体如下: ImageTool.class.php imagePath = $imagePath; $this->outputDir = $outputDir; $this->memoryImg = null; } /** * 显示内存中的图片 * @param $image */ p[详细]
-
详解PHP序列化和反序列化原理
所属栏目:[PHP教程] 日期:2021-04-01 热度:183
0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某个对象序列化之后,序列化的结果有自描述的功能(从序列化的结果中知道这个对[详细]
-
基于 Swoole 的微信扫码登录功能实现代码
所属栏目:[PHP教程] 日期:2021-04-01 热度:189
随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二[详细]
-
PHP7扩展开发之hello word实现方法详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:106
本篇章节讲解PHP7扩展开发之hello word实现方法。供大家参考研究具体如下: 这里是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能: 输出内容: 在扩展中实现一个say[详细]
-
Lumen timezone 时区设置方法(慢了8个小时)
所属栏目:[PHP教程] 日期:2021-04-01 热度:183
根据 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 热度:111
PHP 里开启实时输出方法是 ob_implicit_flush() , 但它大部分情况下都不管用, 因为 php.ini 配置里 output_buffering 输出缓冲大部分是 On 开启的, 还有 zlib.output_compression 也经常会被开启, 除了 PHP 这一层,还有 Nginx 的缓冲设置 proxy_bufferi[详细]
-
php通过header发送自定义数据方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:151
本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。 发送header: 我们定义了三个参数, token 、 language 、 region ,放入 header 发送过去 'fdipzone');$response = tocurl($url[详细]
-
php利用ob_start()清除输出和选择性输出的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:62
一、背景 有一段代码,因为调用了封装的方法,所以会有一些本来不需要的返回值。这些返回值该怎么处理才能让它消失呢。有的人会说,清除变量不就好了吗?但假如这个返回值无法清除,那又该怎么办呢? 二、ob_start() 1、概念: 此函数将打开输出缓冲。当输出[详细]
-
PHP实现合并两个排序链表的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:197
本篇章节讲解PHP实现合并两个排序链表的方法。供大家参考研究具体如下: 问题 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解决思路 简单的合并排序。由于两个数列本来就是递增的,所以每次将[详细]
-
php实现的mongoDB单例模式操作类
所属栏目:[PHP教程] 日期:2021-04-01 热度:118
本篇章节讲解php实现的mongoDB单例模式操作类。供大家参考研究具体如下: 看了好多mongo类都不尽人意。最后发现根本不需要自己封装类。php mongo 的扩展自带的方法就已经很方便了 但是习惯性的把数据库连接部分封装起来。最后我就封装了一个单例模[详细]
-
PHP实现按之字形顺序打印二叉树的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:141
本篇章节讲解PHP实现按之字形顺序打印二叉树的方法。供大家参考研究具体如下: 问题 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解决[详细]
-
PHP获取二叉树镜像的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:86
本篇章节讲解PHP获取二叉树镜像的方法。供大家参考研究具体如下: 问题 操作给定的二叉树,将其变换为源二叉树的镜像。 解决思路 翻转二叉树,有递归和非递归两种方式,非递归就是使用队列。 实现代码 val = $val; }}*/function Mirror( $queue =[详细]
-
PHP获取链表中倒数第K个节点的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:184
本篇章节讲解PHP获取链表中倒数第K个节点的方法。供大家参考研究具体如下: 问题 输入一个链表,输出该链表中倒数第k个结点。 解决思路 注意这个题目是返回节点,而不是返回值。返回值的话可以用栈来存储。返回节点则不能这样做。 设置两个指针,[详细]
-
PHP实现从上往下打印二叉树的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:122
本篇章节讲解PHP实现从上往下打印二叉树的方法。供大家参考研究具体如下: 问题 从上往下打印出二叉树的每个节点,同层节点从左至右打[详细]
-
PHP中OpenSSL加密问题整理
所属栏目:[PHP教程] 日期:2021-03-31 热度:127
最近公司项目中有需要用到OpenSSL的加密和java端进行接口验证,再测试环境升级到PHP7的时候加密会出现错误,后来多方面检查终于找到原因所在: PHP7环境下把openssl_get_privatekey方法换成openssl_pkey_get_private 需要转换一下秘钥,window环境和Linux环[详细]