-
PHP获取字符流中第一个不重复字符的方法
所属栏目:[PHP教程] 日期:2021-04-02 热度:143
本篇章节讲解PHP获取字符流中第一个不重复字符的方法。供大家参考研究具体如下: 问题 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出[详细]
-
Swoole 1.10.0新版本发布,增加了多项新特性
所属栏目:[PHP教程] 日期:2021-04-02 热度:172
前言 Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。最近,PHP的异步、并行、高性能[详细]
-
PHP实现顺时针打印矩阵(螺旋矩阵)的方法示例
所属栏目:[PHP教程] 日期:2021-04-02 热度:52
本篇章节讲解PHP实现顺时针打印矩阵的方法。供大家参考研究具体如下: 问题 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 解决方法 就是一[详细]
-
基于PHP7错误处理与异常处理方法(详解)
所属栏目:[PHP教程] 日期:2021-04-02 热度:69
PHP7错误处理 PHP 7 改变了大多数错误的报告方式。不同于传统(PHP 5)的错误报告机制,现在大多数错误被作为 Error 异常抛出。 这种 Error 异常可以像 Exception 异常一样被第一个匹配的 try / catch 块所捕获。如果没有匹配的 catch 块,则调用异常处理函[详细]
-
PHP学习之预定义变量(实例讲解)
所属栏目:[PHP教程] 日期:2021-04-02 热度:121
超全局变量 超全局变量–超全局变量是全部作用域中始终可用的内置变量 $GLOBALS 以上例程的输出类似于:$foo in global scope: Example content$foo in current scope: local variable $_SERVER ";var_dump($_SERVER);output:array (size=35) 'HTTP_HOST[详细]
-
PHP各版本中函数的类型声明详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:88
PHP7开始支持标量类型声明,强类型语言的味道比较浓。使用这个特性的过程中踩过两次坑:一次是声明boolean,最近是声明double。为避免以后继续犯类似错误,就把官方文档翻了一次。本文是看完后对PHP函数的类型声明使用做的一次总结。 从语法上,PHP的函数定[详细]
-
PHP实现统计一个数字在排序数组中出现次数的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:136
本篇章节讲解PHP实现统计一个数字在排序数组中出现次数的方法。分享给大家供大家参考,具体如下: 题目 统计一个数字在排序数组中出现的次数。 题解 既然是排序数组,使用二分查找是效率最高的。找到之后再向两侧拓展一下。 代码 >1; if($data[$middle]==$[详细]
-
PHP调用ffmpeg对视频截图并拼接脚本
所属栏目:[PHP教程] 日期:2021-04-01 热度:147
PHP脚本调用ffmpeg对视频截图并拼接,供大家参考,具体内容如下 目前支持MKV,MPG,MP4等常见格式的视频,其他格式有待测试 12P 一张截图平均生成时间 1.64s 100个视频,大概需要2分半左右 9P 一张截图平均生成时间 1.13s 100个视频,大概需要2分钟左右 6P 一[详细]
-
PHP实现判断二叉树是否对称的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:68
本篇章节讲解PHP实现判断二叉树是否对称的方法。供大家参考研究具体如下: 问题 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 题解 递归判断二叉树两侧。 实现代码: val =[详细]
-
PHP利用一行代码删除目录下所有文件方法示例
所属栏目:[PHP教程] 日期:2021-04-01 热度:162
前言 想必很多人都会写几行甚至几十行代码使其列出所有文件变为数组进行删除,但是glob函数分分钟解决问题!下面来一起看看详细的介绍吧。 glob语法说明: glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells[详细]
-
PHP7扩展开发之基于函数方式使用lib库的方法详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:129
本篇章节讲解PHP7扩展开发之基于函数方式使用lib库的方法。供大家参考研究具体如下: 前言 首先说下什么是lib库。lib库就是一个提供特定功能的一个文件。可以把它看成是PHP的一个文件,这个文件提供一些函数方法。只是这个lib库是用c或者c++写的。[详细]
-
Yii2中的场景(scenario)和验证规则(rule)详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:117
前言 场景,顾名思义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟你所理解的场景含义差不多。 和用户有交互的系统必不可少的功能包括收集用户数据、校验和处理。实际业务中,往往还需要将数据进行持久化存储。出于安全考虑,开发人员应当牢牢把[详细]
-
MixPHP、Yii和CodeIgniter的并发压力测试小结
所属栏目:[PHP教程] 日期:2021-04-01 热度:177
前言 MixPHP 是一个基于 Swoole 的高性能框架,CodeIgniter 是一个元老级的轻量级框架,Yii 是一个非常流行的框架,以下是三个框架的对比。 由于Yii/CodeIgniter 是基于 Apache/PHP-FPM 的传统框架,如果使用 MixPHP 的正常 Swoole 部署方式来对比,显得有些[详细]
-
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例
所属栏目:[PHP教程] 日期:2021-04-01 热度:127
本篇章节讲解PHP基于非递归算法实现先序、中序及后序遍历二叉树操作。供大家参考研究具体如下: 概述: 二叉树遍历原理如下: 针对上图所示二叉树遍历: ABDHECFG HDBEAFCG HDEBFGCA 实现方法: 先序遍历: 利用栈先进后出的特性,先访问根节点,[详细]
-
PHP使用两个栈实现队列功能的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:121
本篇章节讲解PHP使用两个栈实现队列功能的方法。供大家参考研究具体如下: 问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解决思路 两个栈。出栈的时候,如果栈2不为空,就出栈2。如果栈2为空,就把栈1的出栈[详细]
-
PHP实现找出链表中环的入口节点
所属栏目:[PHP教程] 日期:2021-04-01 热度:124
本篇章节讲解PHP实现找出链表中环的入口节点。供大家参考研究具体如下: 问题 一个链表中包含环,请找出该链表的环的入口结点。 解决思路 第一步,找环中相汇点。分别用p1,p2指向链表头部,p1每次走一步,p2每次走二步,直到p1==p2找到在环中的相[详细]
-
PHP实现可添加水印与生成缩略图的图片处理工具类
所属栏目:[PHP教程] 日期:2021-04-01 热度:73
本篇章节讲解PHP实现可添加水印与生成缩略图的图片处理工具类。分享给大家供大家参考,具体如下: ImageTool.class.php imagePath = $imagePath; $this->outputDir = $outputDir; $this->memoryImg = null; } /** * 显示内存中的图片 * @param $image */ p[详细]
-
详解PHP序列化和反序列化原理
所属栏目:[PHP教程] 日期:2021-04-01 热度:164
0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某个对象序列化之后,序列化的结果有自描述的功能(从序列化的结果中知道这个对[详细]
-
基于 Swoole 的微信扫码登录功能实现代码
所属栏目:[PHP教程] 日期:2021-04-01 热度:113
随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二[详细]
-
PHP7扩展开发之hello word实现方法详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:84
本篇章节讲解PHP7扩展开发之hello word实现方法。供大家参考研究具体如下: 这里是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能: 输出内容: 在扩展中实现一个say[详细]
-
Lumen timezone 时区设置方法(慢了8个小时)
所属栏目:[PHP教程] 日期:2021-04-01 热度:101
根据 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 热度:144
PHP 里开启实时输出方法是 ob_implicit_flush() , 但它大部分情况下都不管用, 因为 php.ini 配置里 output_buffering 输出缓冲大部分是 On 开启的, 还有 zlib.output_compression 也经常会被开启, 除了 PHP 这一层,还有 Nginx 的缓冲设置 proxy_bufferi[详细]
-
php通过header发送自定义数据方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:195
本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。 发送header: 我们定义了三个参数, token 、 language 、 region ,放入 header 发送过去 'fdipzone');$response = tocurl($url[详细]
-
php利用ob_start()清除输出和选择性输出的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:169
一、背景 有一段代码,因为调用了封装的方法,所以会有一些本来不需要的返回值。这些返回值该怎么处理才能让它消失呢。有的人会说,清除变量不就好了吗?但假如这个返回值无法清除,那又该怎么办呢? 二、ob_start() 1、概念: 此函数将打开输出缓冲。当输出[详细]
-
PHP实现合并两个排序链表的方法
所属栏目:[PHP教程] 日期:2021-04-01 热度:105
本篇章节讲解PHP实现合并两个排序链表的方法。供大家参考研究具体如下: 问题 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解决思路 简单的合并排序。由于两个数列本来就是递增的,所以每次将[详细]