php
忆杰
做最好的自己
展开
-
编程之梯度计算价格
梯度算法计算原创 2023-03-23 22:16:17 · 269 阅读 · 0 评论 -
PHP的pm、pm.max_requests、memory_limit参数说明
php-fpm.conf pm pm是来控制php-fpm的worker进程数到底是一次性产生固定不变(static模式),还是在运行过程中随着需要动态变化(dynamic)。众所周知,worker进程数与服务器的性能息息相关,进程数太少则不能及时处理请求,而太多则会占用过多的内存而拖慢系统。 php-fpm处理请求时会随着处理请求数的增加而占用越来越多的内存,所以static模式下往往不好判断启动多少的进程数能使内存利用达到最大化,所以想到了dynamic模式。 pm...原创 2020-09-12 21:40:07 · 967 阅读 · 0 评论 -
数组中只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例输入 :[2,2,1]输出 :1示例2输入 :[4,1,2,1,2]输出: :4<?php/** * 求数组中只出现一次的元素 * 其它元素出现的次数为偶数次 */fu...原创 2019-04-10 14:13:23 · 110 阅读 · 0 评论 -
删除排序数组中的重复项
一、删除数组中的重复项【无序】<?php/** * 给定一个数组(无序),你需要在原地删除重复出现的元素,使得每个元素只出现一次, * 返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 * @param array $list * @return array new list */function a...原创 2019-04-10 15:00:40 · 184 阅读 · 0 评论 -
CGI、FastCGI、PHP-CGI与PHP-FPM的区别
CGI就像翻译机,将PHP语言给服务器解释,便于相互之间的理解和通讯,最后呈现给浏览器查看,哈哈,是不是很有趣呢:转自:http://www.php.cn/php-weizijiaocheng-377248.htmlCGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行...转载 2019-04-01 14:15:25 · 173 阅读 · 0 评论 -
组合计算——拆分一个整数数为N个
将一个数Number按照拆分成N个在(min, max)范围内的数方法一 基本思想:循环1 ~ N,每次循环,都计算随机范围(min , max),判断是否可以生成N个满足要求的数<?php/** * 将一个数按照拆分成N个在(min, max)范围内的数 * @param [type] $number 待拆分的数 * @param [type] $...原创 2019-04-03 16:26:24 · 2213 阅读 · 0 评论 -
串联所有单词的子串
给定一个字符串s和一些长度相同的单词words。找出s中恰好可以由words中所有单词串联形成的子串的起始位置。注意子串要与words中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。<?php/** * @param String $s * @param String[] $words * @return Integer...原创 2019-04-13 18:06:13 · 445 阅读 · 2 评论 -
组合生成算法
给定一个数组:A、B、C、D,输出长度为N的组合,返回所有的组合的方式<?php/** * 组合:数据集$list,组合的个数:$num * @param $list * @param $m * @return [] */function arrangement($list, $num) { $res = []; $count = count($list...原创 2019-04-15 16:07:04 · 692 阅读 · 0 评论 -
Curl和Socket的区别
Socket PHP使用berkely的socket库来创建他的连接,socket是一个数据结构,你可以通过这个socket来开启服务器和客户端的会话。服务器端一直处于监听状态,当一个客户端连接服务器,他就打开服务器端正在监听的一个端口进行会话。这时服务器端接收客户端的连接请求,那么就进行一次循环。现在这个客户端就能够发送信息到服务器,服务器也可以发送信息给客户端。产生一个sock...转载 2019-05-13 14:55:32 · 2664 阅读 · 0 评论 -
PHP实现URL长连接转短连接
短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。这样的话其好处为:1、内容需要;2、用户友好;3、便于管理。实现短网址(short URL)系统比较流行的算法有两种自增序列算法、 摘要算法自增序列算法:也叫永不重复算法,设置 id 自增,一个 10进制 id 对应一个 62进制的数值,1对1,也就不会出现重复的情况。这个利用的就是低进制转化为高进制时...转载 2019-08-05 10:26:47 · 768 阅读 · 0 评论 -
反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2输入:["H"...原创 2019-04-10 14:01:00 · 143 阅读 · 0 评论 -
买卖股票最大收益
给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能...原创 2019-04-10 11:35:09 · 975 阅读 · 1 评论 -
判断4个点组成矩形
<?php/** * 判断4个点是否组成矩形 * @param [type] $list [description] * @return boolean [description] */function isJuXing($list){ $v = []; $distance = []; for ($i=0; $i < 3 ; $i+...原创 2019-04-15 16:08:16 · 1455 阅读 · 0 评论 -
php按照固定宽/高对图片进行压缩处理
按照固定宽,高对图片进行压缩,根据实际比例,按照宽度优先或者高度优先,对图片进行压缩,不够的尺寸进行留白,在使用过程中,php的这个imagecreatetruecolor()函数可能会报错Call to undefined function imagecreatetruecolor() in发现是php5.4.3默认没有开启该扩展。要在php.ini中,去掉 extension=ph...原创 2018-09-19 16:52:08 · 940 阅读 · 0 评论 -
PHP中的11个魔术方法
1、__get、__set这两个方法是为在类和他们的父类中没有声明的属性而设计的__get( $property ) 当调用一个未定义的属性时访问此方法 __set( $property, $value ) 给一个未定义的属性赋值时调用这里的没有声明包括访问控制为proteced,private的属性(即没有权限访问的属性)2、__isset、__unset_...原创 2019-03-14 16:00:54 · 23113 阅读 · 0 评论 -
TPS、QPS、并发数、响应时间(RT)概念
响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的...原创 2019-03-19 14:37:04 · 800 阅读 · 0 评论 -
PHP 类属性
在类中定义的变量称之为属性,常见的属性声明是由关键字public,protected,var或private开头,后面跟一个普通的变量声来组成。还有一些成员属性包括,静态static,常量const。public:默认值,表示全局的,类内部外部子类都可以访问。 protected:表示受保护的,只有本类或子类或父类中可以访问,不允许外部调用。 private:表示私有的,只有本类内部可以使...原创 2019-03-15 16:37:56 · 320 阅读 · 0 评论 -
echo print() print_r() var_dump()的区别
echo()可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。print()函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Arra...原创 2019-03-20 17:51:35 · 362 阅读 · 0 评论 -
快速排序之PHP实现【递归】
快速排序的原理找到当前数组中的任意一个元素(一般选择第一个元素)作为标准,新建两个空数组,遍历整个数组元素,如果遍历到的元素比当前的元素要小,那么就放到左边的数组,否则放到右面的数组,然后再对新数组进行同样的操作,不难发现,这里符合递归的原理,所以我们可以用递归来实现。使用递归,则需要找到递归点和递归出口; 递归点:如果数组的元素大于1,就需要再进行分解,所以我们的递归点就是新构造的数组...转载 2019-03-21 10:12:30 · 207 阅读 · 0 评论 -
include和require的区别
include和require都是引入指定的文件。_once表示只引入一次,即之前已经引入过的不再引入。例如1.php中有句简单的打印echo '1 </br> '下面的程序运行的结果:<?phpinclude'1.php';require'1.php';include_once'1.php';require_once'1.php';将是...原创 2019-03-18 11:44:29 · 186 阅读 · 0 评论 -
PHP7的革新与性能优化之新增特性和改变
1.标量类型和返回类型声明(ScalarTypeDeclarations&ScalarTypeDeclarations)PHP语言一个非常重要的特点就是“弱类型”,它让PHP的程序变得非常容易编写,新手接触PHP能够快速上手,不过,它也伴随着一些争议。支持变量类型的定义,可以说是革新性质的变化,PHP开始以可选的方式支持类型定义。除此之外,还引入了一个开关指令declar...转载 2019-03-13 14:50:27 · 106 阅读 · 0 评论 -
PHP7 之 跨越式的性能突破:全速前进
1.JIT与性能JustInTime(即时编译)是一种软件优化技术,指在运行时才会去编译字节码为机器码。从直觉出发,我们都很容易认为,机器码是计算机能够直接识别和执行的,比起Zend读取opcode逐条执行效率会更高。其中,HHVM(HipHopVirtualMachine,HHVM是一个Facebook开源的PHP虚拟机)就采用JIT,让他们的PHP性能测试提升了一个数量级,放出一...转载 2019-03-13 14:54:40 · 171 阅读 · 0 评论 -
PHP常用算法
1、获取某个目录下的所有文件//测试$data = searchdir('a/');var_dump( $data );/** * 遍历目录下的文件 * @param $path * @param int $maxdepth * @param string $mode * @param int $d * @return array */function searc...原创 2018-09-19 15:09:48 · 298 阅读 · 0 评论