-
详解PHP序列化和反序列化原理
所属栏目:[PHP教程] 日期:2021-04-01 热度:164
0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某个对象序列化之后,序列化的结果有自描述的功能(从序列化的结果中知道这个对[详细]
-
基于 Swoole 的微信扫码登录功能实现代码
所属栏目:[PHP教程] 日期:2021-04-01 热度:60
随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二[详细]
-
PHP7扩展开发之hello word实现方法详解
所属栏目:[PHP教程] 日期:2021-04-01 热度:198
本篇章节讲解PHP7扩展开发之hello word实现方法。供大家参考研究具体如下: 这里是以PHP7作为基础,讲解如何从零开始创建一个PHP扩展。本文主要讲解创建一个扩展的基本步骤都有哪些。示例中,我们将实现如下功能: 输出内容: 在扩展中实现一个say[详细]
-
Lumen timezone 时区设置方法(慢了8个小时)
所属栏目:[PHP教程] 日期:2021-03-31 热度:188
根据 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-03-31 热度:91
PHP 里开启实时输出方法是 ob_implicit_flush() , 但它大部分情况下都不管用, 因为 php.ini 配置里 output_buffering 输出缓冲大部分是 On 开启的, 还有 zlib.output_compression 也经常会被开启, 除了 PHP 这一层,还有 Nginx 的缓冲设置 proxy_bufferi[详细]
-
php通过header发送自定义数据方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:100
本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。 发送header: 我们定义了三个参数, token 、 language 、 region ,放入 header 发送过去 'fdipzone');$response = tocurl($url[详细]
-
php利用ob_start()清除输出和选择性输出的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:171
一、背景 有一段代码,因为调用了封装的方法,所以会有一些本来不需要的返回值。这些返回值该怎么处理才能让它消失呢。有的人会说,清除变量不就好了吗?但假如这个返回值无法清除,那又该怎么办呢? 二、ob_start() 1、概念: 此函数将打开输出缓冲。当输出[详细]
-
PHP实现合并两个排序链表的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:191
本篇章节讲解PHP实现合并两个排序链表的方法。供大家参考研究具体如下: 问题 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解决思路 简单的合并排序。由于两个数列本来就是递增的,所以每次将[详细]
-
php实现的mongoDB单例模式操作类
所属栏目:[PHP教程] 日期:2021-03-31 热度:92
本篇章节讲解php实现的mongoDB单例模式操作类。供大家参考研究具体如下: 看了好多mongo类都不尽人意。最后发现根本不需要自己封装类。php mongo 的扩展自带的方法就已经很方便了 但是习惯性的把数据库连接部分封装起来。最后我就封装了一个单例模[详细]
-
PHP实现按之字形顺序打印二叉树的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:136
本篇章节讲解PHP实现按之字形顺序打印二叉树的方法。供大家参考研究具体如下: 问题 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解决[详细]
-
PHP获取二叉树镜像的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:97
本篇章节讲解PHP获取二叉树镜像的方法。供大家参考研究具体如下: 问题 操作给定的二叉树,将其变换为源二叉树的镜像。 解决思路 翻转二叉树,有递归和非递归两种方式,非递归就是使用队列。 实现代码 val = $val; }}*/function Mirror( $queue =[详细]
-
PHP获取链表中倒数第K个节点的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:155
本篇章节讲解PHP获取链表中倒数第K个节点的方法。供大家参考研究具体如下: 问题 输入一个链表,输出该链表中倒数第k个结点。 解决思路 注意这个题目是返回节点,而不是返回值。返回值的话可以用栈来存储。返回节点则不能这样做。 设置两个指针,[详细]
-
PHP实现从上往下打印二叉树的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:170
本篇章节讲解PHP实现从上往下打印二叉树的方法。供大家参考研究具体如下: 问题 从上往下打印出二叉树的每个节点,同层节点从左至右打[详细]
-
php实现斐波那契数列代码分享
所属栏目:[PHP教程] 日期:2021-03-31 热度:88
斐波那契数列指的是这样一个数列 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........ 这个数列从第3项开始,每一项都等于前两项之和。 F0=0,F1=1,Fn=F(n-1)+F(n-2) 递归版和非递归版。 作为[详细]
-
PHP基于二分法实现数组查找功能示例【循环与递归算法】
所属栏目:[PHP教程] 日期:2021-03-31 热度:56
本篇章节讲解PHP基于二分法实现数组查找功能。分享给大家供大家参考,具体如下: 二分法。分别使用while循环的方法和递归调用的方法。 $high) {// 先判断结束条件 return -1; } $i = intval(($high + $low)/2); if ($arr[$i] > $v){ return bsearch_r($v,$[详细]
-
PHP实现的简单四则运算计算器功能示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:98
本篇章节讲解PHP实现的简单四则运算计算器功能。供大家参考研究具体如下: php实现一个简单的四则运算计算器(还不支持括号的优先级)。利用栈这种数据结构来计算表达式很赞。 这里可以使用栈的结构,由于php的数组“天然”就有栈的特性,这里直接[详细]
-
php实现希尔排序算法的方法分析
所属栏目:[PHP教程] 日期:2021-03-31 热度:55
本篇章节讲解php实现希尔排序算法的方法。供大家参考研究具体如下: 虽然现在各种程序语言都有其各自强大的排序库函数,但是这些底层实现也都是利用这些基础或高级的排序算法。 理解这些复杂的排序算法还是很有意思的,体会这些排序算法的精妙~ 希[详细]
-
PHP使用自定义key实现对数据加密解密的方法
所属栏目:[PHP教程] 日期:2021-03-31 热度:197
本篇章节讲解PHP使用自定义key实现对数据加密解密的方法。供大家参考研究具体如下: 客户端和服务端通信时,有个场景很常见,通过一个id作为url参数来回传递。假设现在业务上只有这个id标识,那么需要稍微安全一点的通信,对这个id进行加密传输,[详细]
-
php生成缩略图质量较差解决方法代码示例
所属栏目:[PHP教程] 日期:2021-03-31 热度:76
近期弄个论坛,在首页要有个排名,显示评论最多的前十位用户的列表,列表有个略图是用户最新上传的作品,如果使用原来的图,图片过大,首页加载过慢,因此要使用略图 以上来使用imagecopyresized这个函数,显示质量很差如图 后来改用imagecopyresampled效果[详细]
-
PHP实现的栈数据结构示例【入栈、出栈、遍历栈】
所属栏目:[PHP教程] 日期:2021-03-31 热度:156
本篇章节讲解PHP实现的栈数据结构。供大家参考研究具体如下: 利用php面向对象思想,栈的属性有top、最大存储数、和存储容器(这里利用了php数组)。 代码如下:实现了入栈、出栈、遍历栈的几个方法: stack = array(); } // 入栈 public function[详细]
-
实例分析PHP中PHPMailer发邮件
所属栏目:[PHP教程] 日期:2021-03-31 热度:81
下面以QQ邮箱为例,按照这四个方面来介绍PHPMaIiler的使用: PHPMailer的介绍步骤一:使QQ邮箱能够发送邮件步骤二:使PHP能够使用QQ邮箱发送邮件步骤三:编写发送邮件代码 ThinkPHP使用PHPMailer 发送邮件 PHPMailer的介绍 可运行在任何平台之上;支持SMTP验[详细]
-
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
所属栏目:[PHP教程] 日期:2021-03-31 热度:129
在使用phpcms替换网页的时候,除了正常的替换栏目、内容页等,其他的什么验证码啦,提交表单了,搜索功能了,这些在替换的时候可能会对一些默认文件有一些小小 的改变 下面就是自己在失败中成功的过程,最后终于替换成没有bug的替换 一、phpcms的验证码替换[详细]
-
详解php中的类与对象(继承)
所属栏目:[PHP教程] 日期:2021-03-31 热度:80
简介 在php中,类型的继承使用extends关键字,而且最多只能继承一个父类,php不支持多继承。 dat = $dat; } public function getDat() { return[详细]
-
PHP单文件和多文件上传实例
所属栏目:[PHP教程] 日期:2021-03-31 热度:80
$_FILES何时为空数组? 表单提交 enctype 不等于 multipart/form-data 的时候 php.ini配置文件中,file_uploads = Off 上传的文件大小 > php.ini配置文件中所配置的最大上传大小时 只要出现 $_FILES 为空数组,就可能出现以上的问题,必须修复! 如果 未选[详细]
-
PHP多人模块开发原理解析
所属栏目:[PHP教程] 日期:2021-03-31 热度:80
作为世界上最“好”的语言,在web里占据着大概80%的份额,中小公司基本都说 lnmp 架构。当一个仓库开发人员大于1,20人的时候,每个人可能开发不同的模块和功能,用代码版本控制工具比如 git 开不同的分支,流程大概是先在本地搭一套完整的环境,开发好部署[详细]