PHP
qq_36211859
这个作者很懒,什么都没留下…
展开
-
PHP-设计模式-组合模式
组合模式:将对象组合成树形结构来表现”部分-整体“的层次结构。 目的(重点):使得客户以一致的方式处理单个对象以及对象的组合。<?php header("Content-type: text/html; charset=utf-8");//定义抽象类,抽象方法,方法参数根据‘里氏替换原则’传递父类。abstract class node{ abstract functio...原创 2018-08-31 16:06:26 · 253 阅读 · 0 评论 -
PHP-&&符在for循环中的应用
1:运算符:&amp;amp;&amp;amp;/||运算符优先级高于ternary高于and/or/&amp;lt;?php$a = 3 &amp;amp;&amp;amp; 1; var_dump($a);// bool(true)$a = 3 and 1; var_dump($a);//int(3)?&amp;gt;2:在for 循环中作为条件时:案例可以看P原创 2018-09-10 14:08:54 · 854 阅读 · 0 评论 -
PHP-排序-归并排序
归并排序:使用‘分治策略’,将一个大问题分割成小问题分别解决,然后用所有小问题的答案来解决整个大问题。<?php /* merge函数 1: 需要一个额外的数组 2:把两个已经排序好的数组 通过移动指针,比较大小。小的放入额外数组中 指针往后移动。 3:直到结束,如果排序号的数组还有多余的 则直接放入额外数组中。 4:把额外数组存放到...原创 2018-09-13 09:08:37 · 144 阅读 · 0 评论 -
PHP-闭包-匿名函数
下面的两个例子是直接在外层函数中执行闭包。//直接使用use传值并不会改变外层函数中变量的值!//即使使用static也不会有变化,可见闭包传参是开辟了另外的空间。function getMoney() { $rmb = 1; $func = function() use ( $rmb ) { echo '传递到闭包函数的原始的值:'.$rmb.'&lt;b...原创 2018-09-07 15:20:35 · 109 阅读 · 0 评论 -
PHP-排序-堆排序
<?php /* 共需要三个函数: 下标从0开始所以左右子节点分别为:2*$i+1,2*$i+2。 heapify() 调整堆,调整第$i个非叶子节点,将其调整到合适的位置。 1:比较$i和左右子节点的值,$max为最大值的下标,将最大的调整父节点。 2:递归调用,将$i放置到正确的位置。 ...原创 2018-09-13 17:29:09 · 284 阅读 · 0 评论 -
PHP--排序--插入排序改进+希尔排序
简单插入排序改进:简单插入排序是将为排序队列中取一个值,插入到已排序序列的合适位置,如果数值较多,则在插入的时需要更多的时间,因此在寻找插入的合适位置时,使用二分查找方法,来减少插入时间。 二分查找查找到第一个大于待插入值得位置, 二分查找可以参考你真的会二分查找吗?function insertsort(&amp;$arr){ $len = count($arr); fo...原创 2018-09-11 09:52:02 · 123 阅读 · 0 评论 -
windows +phpstudy 设置虚拟域名
开启appach的mod_rewrite功能1 .打开httpd-conf文件搜索“rewrite_module modules/mod_rewrite.so” ,去掉注释。搜索“httpd-vhosts.conf” ,去掉注释,引入httpd-vhosts.conf。配置vhosts.conf NameVirtualHost *:80 &amp;lt;VirtualHost...原创 2018-10-16 17:56:59 · 136 阅读 · 0 评论 -
linux源码安装php
下载对应版本的PHP php-5.6.36.tar.gz解压tar -zxvf php-5.6.36.tar.gz执行config命令./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fp...转载 2019-04-22 21:10:32 · 311 阅读 · 0 评论 -
PHP-快排
$a = array(2,3,1,44,22,3,11,22,42,122,543);function quick_sort($a){ // 非数组,或数字长度小于1,递归结束条件为数组长度等于1 if ( !isArray($a) || count($a) <= 1) { return $a; } $middle = $a[0]; //...原创 2019-09-16 09:16:14 · 140 阅读 · 0 评论 -
PHP-排序-简单插入排序
简单插入排序: 将数组分成两个区域:已排序区域和未排序区域。首先假设数组的第一个元素处于已排序区域, 第一个元素之后的所有元素都处于未排序区域。 排序时用到两层循环,第一层循环用于从未排序区域中取出待排序元素,并逐步缩小未排序区域, 第二层循环用于从已排序区域中寻找插入位置(即不断地从已排序区域中寻找比待排序元素大的元素,然后将较大的已排序区的元素后移,后移的最终结...原创 2018-09-10 11:05:13 · 167 阅读 · 0 评论 -
PHP-排序-选择排序
选择排序: 1:选择一个最小值(假设下标$i的值为最小值),放到序列的开头,作为已排序序列。 2:然后找到未排序序列中最小值放到已排序序列的结尾,直到所有元素排序完毕。 3:冒泡排序的区别:冒泡排序没发现一个异常顺序就进行一次调换,选择排序是以数组下标(每遍历一次记住最小值小标)代替中间的调换,等到最后进行一次调换即可。<?php //选择排序function selec...原创 2018-09-10 09:20:55 · 328 阅读 · 0 评论 -
PHP-设计模式-观察者模式
观察者模式:一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 1:定义一个项目subjects抽象类 ,一个观察者observers抽象类。 subject 实现三个方法,1,添加add ,删除:remove ,通知 :notify。 observe 实现update 方法 格式和组合模式有点类似。<!DOCTYPE html> <html&g...原创 2018-09-03 13:12:59 · 93 阅读 · 0 评论 -
PHP-设计模式-单例模式
单例模式:保证整个系统只创建一次类。 实现方法: 1:静态属性,用来保存创建的类。 2:私有的构造函数(__construct),私有的克隆函数(__clone,防止克隆) 3:公有的静态方法,创建类(new self)保存在静态属性中,并返回。 用于:多人项目中数据库链接,windows的任务管理器等。&amp;amp;amp;amp;lt;?php class ...原创 2018-08-29 11:22:10 · 108 阅读 · 0 评论 -
PHP-设计模式-简单工厂模式
简单工厂模式:开闭原则:扩展开放,修改封闭。 步骤: 1:创建被继承抽象类。 2:实现底层的类。 3:创建工厂类,在工厂类中实例化底层类。抽象类:car.php&lt;?phpabstract class car{ //顺序,判断,获取等操作。 function facture(){}}?&gt;玻璃类:gl...原创 2018-08-29 11:21:56 · 111 阅读 · 0 评论 -
PHP-斐波那契数列-递归-迭代
斐波那契数列 : 1 1 2 3 5 8 13 21 。。。 规律:从第三个数开始,值为前两个数值的和:An=A(n-1)+A(n-2) 迭代方法:/*$n1:数列的第一个值;$n2:数列的第二个值;$n:要求得的第N个值;*/function Fibonacci($n1,$n2,$n){ for($i=0;$i&amp;amp;lt;$n;$i++){ ...原创 2018-09-04 13:54:44 · 306 阅读 · 0 评论 -
PHP-设计模式-适配器模式
适配器模式:将两个不能直接连接的类(A,B),使用第三个类(C)进行转换。 应用场景: 1:比如,充电器就是个适配器,用来使插线板(两个或三个插孔)和手机(USB接口)连接到一起。 2:比如,不同数据库(mysql,oracle)之间导入表,字段不同,转换成相同的字段。 3:pdo,mysqli等把数据库中的数据转换成PHP 可以使用的数组。...原创 2018-08-30 14:04:16 · 155 阅读 · 0 评论 -
PHP-设计模式-外观模式
外观模式:根据高层的需求,把不通的底层方法,放到不同的类中。 应用:就像烤冷面的不同口味,有酸,甜,辣,三中口味。根据客户需求,甜辣,酸辣,酸甜辣,组装到不同的类中。 sql 语句中也有用到,多表联查时,可以将不同的表写成视图(view)。 缺点:容易造成类爆炸。//烤冷面总共有三种口味,但是客户不会要全部的口味。class kaolengmian{ function ...原创 2018-08-30 14:45:08 · 113 阅读 · 0 评论 -
PHP-排序-冒泡排序
冒泡排序:相邻值比较。将最大值放到底部,最小值排序到顶部。 复杂度,稳定性见文末。<?php//简单冒泡排序function bubblesort(&$arr){ //引用传递&$arr $len = count($arr); for($i=0;$i<$len-1;$i++){ //总共需要几轮循环 /...原创 2018-09-05 10:00:21 · 106 阅读 · 0 评论 -
PHP-设计模式-装饰器模式
装饰器类的作用:不使用继承,也能是对象使用新方法。重点是类实例化出来的对象。 装饰器类(配菜类)也必须继承food类,否则就不是装饰器类了(嗯!就是这样) 装饰器: 手抓饼实现。 1:food抽象类 -》cake类 2:food抽象类-》peicai抽象类 -》各种配菜类(有新方法) 3:实例化cake类($obj) 将$obj(旧)注入到配菜类中,赋值给对象$obj(新),则既能使...原创 2018-09-03 08:56:57 · 133 阅读 · 0 评论 -
PHP- return
PHP 中 return $this,的含义为:返回自身 用处:数据库中的sql 语句经常用到。class knowthis { private $one; private $two; function get($in){ $this-&amp;amp;amp;amp;amp;gt;one = $in; return $this; ...原创 2018-09-03 09:07:37 · 455 阅读 · 0 评论 -
约瑟夫环
根据数据公式可得<?phpfunction tmp($n,$m){ if($n<1||$m<1){ return -1; } $end = 0 for($i=2;$i<=$n;$i++){ $end = ($end + m)%i } return $end}原创 2019-09-20 10:41:25 · 85 阅读 · 0 评论