-
PHP设计模式中的单例模式和工厂模式
所属栏目:[PHP教程] 日期:2021-05-23 热度:112
1、工厂模式工厂模式是一种专门用来创建其它对象的类(称为工厂类),根据传递参数的不同,来创建不同类的对象。我们可以使用工厂类创建对象,而不是直接使用 new。 工厂类中至少有一个公共的静态方法(称为工厂方法),静态方法接受一个参数,根据这个参数[详细]
-
PHP namespace中包含的命名空间
所属栏目:[PHP教程] 日期:2021-05-23 热度:127
PHP 中命名空间(namespace)是在 PHP5.3 中加入的,如果你了解过 C++ 的话,那命名空间就不算什么新事物了。不过命名空间在 PHP 当中还是相当重要的。 PHP 命名空间可以解决以下两类问题: 用户编写的代码与 PHP 内部的类/函数/常量或第三方类/函数/常量之[详细]
-
PHP extends:如何继承
所属栏目:[PHP教程] 日期:2021-05-23 热度:95
类的成员都有不同的访问权限,由访问控制关键字来控制的。在 PHP 中,父类所有使用 public 修饰的成员均可以被子类继承。 【示例】定义一个基类,使用另一类来继承这个基类,同时在尝试使用子类调用基类中的成员方法。 ?php class Website{ public $name, $[详细]
-
PHP排序算法之希尔排序(Shell Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:78
本篇章节讲解PHP排序算法之希尔排序(Shell Sort)。分享给大家供大家参考,具体如下: 基本思想: 希尔排序是指记录按下标的一定增量分组,对每一组使用 ,随着增量逐渐减少,每组包含的关键字越来越多,当增量减少至 1 时,整个序列恰好被分成一组,算法便[详细]
-
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层
所属栏目:[PHP教程] 日期:2021-05-23 热度:152
副标题#e# 本篇章节讲解PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历 :对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深[详细]
-
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:94
本篇章节讲解PHP排序算法之冒泡排序(Bubble Sort)实现方法。分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 最简单排序实现: 我们先来看看[详细]
-
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:122
本篇章节讲解PHP排序算法之简单选择排序(Simple Selection Sort)。分享给大家供大家参考,具体如下: 基本思想: 通过 n - i 次关键字间的比较,从 n - i + 1 个记录中选出关键字最小的记录,并和第 i (1 算法实现: 运行结果: int(1) [1]=> int(2) [2]=[详细]
-
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:146
本篇章节讲解PHP排序算法之直接插入排序(Straight Insertion Sort)。分享给大家供大家参考,具体如下: 算法引入: 在这里我们依然使用《》里面的一个例子: 扑克牌是我们几乎每个人都玩过的游戏。平时我们开始的时候一般都是一个人发牌,其他人都是一边摸[详细]
-
PHP操作Postgresql封装类与应用完整实例
所属栏目:[PHP教程] 日期:2021-05-22 热度:190
本篇章节讲解PHP操作Postgresql封装类与应用。分享给大家供大家参考,具体如下: 这个类封装了一些常用的函数,原帖里面还有事务处理的内容,以后再学习吧。 类文件定义: host = $host;$this->port = $port;$this->user = $user;$this->passwd = $passwd;[详细]
-
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
所属栏目:[PHP教程] 日期:2021-05-22 热度:76
副标题#e# 本篇章节讲解PHP操作MongoDB实现增删改查功能。分享给大家供大家参考,具体如下: MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说MongoDB命令行中有的功能,它都可以实现,而且参数的格式基本相似。PHP7以前的版本和PHP7之后的版本对M[详细]
-
PHP操作Redis常用技巧总结
所属栏目:[PHP教程] 日期:2021-05-22 热度:130
副标题#e# 本篇章节讲解PHP操作Redis常用技巧。分享给大家供大家参考,具体如下: 一、Redis连接与认证 connect('127.0.0.1',6379,30);//密码认证:成功返回true,否则返回false$ret = $redis->auth('123456'); 二、String操作 set('mystr','Welcome!');//[详细]
-
PHP排序算法之归并排序(Merging Sort)实例详解
所属栏目:[PHP教程] 日期:2021-05-22 热度:147
本篇章节讲解PHP排序算法之归并排序(Merging Sort)。分享给大家供大家参考,具体如下: 基本思想: 归并排序:就是利用归并(合并)的思想实现的排序方法。它的原理是假设初始序列含有 n 个元素,则可以看成是 n 个有序的子序列,每个子序列的长度为 1,然[详细]
-
PHP生成推广海报的方法分享
所属栏目:[PHP教程] 日期:2021-05-22 热度:174
副标题#e# 经常有这样的需求,就是需要在生成推广海报,包含指定的二维码,分享出去别人扫码之后就可以确定用户推荐关系。 仔细分析一下,推广海报必要的要素就是海报背景图和二维码,这两者都容易生成,但要两者结合到一起组合成为一张图二维还要可以保存[详细]
-
PHP基于SPL实现的迭代器模式示例
所属栏目:[PHP教程] 日期:2021-05-22 热度:74
本篇章节讲解PHP基于SPL实现的迭代器模式。分享给大家供大家参考,具体如下: 现在有这么两个类,Department部门类、Employee员工类: _name = $name; $this->employees = array(); } function addEmployee(Employee $e){ $this->_employees[] = $e; echo[详细]
-
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
所属栏目:[PHP教程] 日期:2021-05-22 热度:152
副标题#e# 本篇章节讲解PHP排序算法之快速排序(Quick Sort)及其优化算法。分享给大家供大家参考,具体如下: 基本思想: 快速排序(Quicksort)是对冒泡排序的一种改进。他的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字均比[详细]
-
PHP排序算法之堆排序(Heap Sort)实例详解
所属栏目:[PHP教程] 日期:2021-05-22 热度:167
本篇章节讲解PHP排序算法之堆排序(Heap Sort)。分享给大家供大家参考,具体如下: 算法引进: 在这里我直接引用《》里面的开头: 在前面讲到 ,它在待排序的 n 个记录中选择一个最小的记录需要比较 n - 1 次,本来这也可以理解,查找第一个数据需要比较这[详细]
-
PHP排序算法之基数排序(Radix Sort)实例详解
所属栏目:[PHP教程] 日期:2021-05-22 热度:112
本篇章节讲解PHP排序算法之基数排序(Radix Sort)。分享给大家供大家参考,具体如下: 基数排序在《》中并未讲到,但是为了凑齐八大排序算法,我自己通过网络学习了这个排序算法,并给大家分享出来。 基本思想: 基数排序(radix sort)属于“分配式排序”[详细]
-
PHP实现Huffman编码/解码的示例代码
所属栏目:[PHP教程] 日期:2021-05-22 热度:142
Huffman 编码是一种数据压缩算法。我们常用的 zip 压缩,其核心就是 Huffman 编码,还有在 HTTP/2 中,Huffman 编码被用于 HTTP 头部的压缩。 本文就来用 PHP 来实践一下 Huffman 编码和解码。 1. 编码 字数统计 Huffman编码的第一步就是要统计文档中每个[详细]
-
PHP如何输出图片
所属栏目:[PHP教程] 日期:2021-05-20 热度:75
上表中函数的语法格式如下所示: imagegif(resource $image[, string $filename]) imagejpeg(resource $image[, string $filename[, int $quality]]) imagepng(resource $image[, string $filename]) 其中,$image 为创建的图像资源;$filename 为可选参数[详细]
-
一篇文章为你解释PHP fgets和fgetss中的逐行读取文件
所属栏目:[PHP教程] 日期:2021-05-20 热度:130
1、fgets() 函数fgets() 函数用于一次读取一行数据。函数的语法格式如下: fgets(resource $handle[, int $length]) 其中参数 $handle 是被打开的文件;参数 $length 为可选参数,用来设置读取的数据长度。函数能够实现从指定文件 $handle 中读取一行并返回[详细]
-
解析PHP imagecreatetruecolor和imagecreate中的创建画布
所属栏目:[PHP教程] 日期:2021-05-20 热度:75
在 PHP 中,通过 GD 库处理图像的操作,都是先在内存中处理,操作完成以后再以文件流的方式,输出到浏览器或保存在服务器的磁盘中。创建图像一般分为 4 个基本步骤。 创建画布:所有的绘图设计都需要在一个背景图片上完成,而画布实际上就是在内存中开辟的[详细]
-
PHP fopen和fclose怎么做到打开和关闭文件
所属栏目:[PHP教程] 日期:2021-05-20 热度:95
在对文件进行操作之前,服务器上的操作系统必须知道要对打开的文件进行什么操作。操作系统需要了解在打开这个文件后,这个文件是否还允许其他脚本再打开,它还需要了解使用者(或脚本)是否具有在这种方式下使用该文件的权限。 从本质上说,文件模式可以告[详细]
-
PHP如何运用PDO运行SQL语句
所属栏目:[PHP教程] 日期:2021-05-19 热度:179
1) exec() 方法当执行 INSERT、UPDATE 和 DELETE 等不需要返回结果集的 SQL 语句时,可以使用 PDO 对象中的 exec() 方法。该方法成功执行后,将返回受影响的行数,语法格式如下: PDO::exec(string $sql) 其中 $sql 为要执行的 SQL 语句。 注意:exec() 方[详细]
-
PHP怎样利用PDO连接数据库
所属栏目:[PHP教程] 日期:2021-05-19 热度:65
创建 PDO 对象可以以多种方式调用构造方法创建 PDO 对象,下面以连接 MySQL 数据库为例,为大家介绍构造方法的多种调用方式。 1) 将参数嵌入到构造函数中在下面的连接 MySQL 数据库的示例中,在 DSN 字符串中加载 mysql 驱动程序并指定了两个可选参数:第一[详细]
-
PHP PDO的解释
所属栏目:[PHP教程] 日期:2021-05-19 热度:59
PDO 是什么PDO 是 PHP Date Object(PHP 数据对象)的简称,它是 PHP 为访问数据库定义的一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样无论你使用什么数据库,都可以通过同一函数执行查询和获取数据,大大简化了数据库的操作,并能够屏蔽[详细]
