这两天在完善自己系统的过程中要实现一个查找异常的功能,于是在朋友的指点下学习并实现了异常点查找的一个基本算法“局部异常因子算法-LocalOutlierFactor(LOF)算法”。首先,找相关说明看看这是个什么东西吧。我参考了这一篇文章: 异常点/离群点检测算法——LOF大致明白了lof算法是在讲什么,我的理解还有很多不完善的地方,不过还是作为一个初学者写出来供大家批评指正。根据我的理解大致描述如下:1、 k-distance...
继续阅读 >
分类:PHP
2021
10-12
10-12
php安装grpc扩展的具体步骤
1、在php.ini文件中添加grpc扩展配置:extension=grpc.sogitclone-b$(curl-Lhttps://grpc.io/release)https://github.com/grpc/grpccdgrpcgitsubmoduleupdate--initmakemakeinstallcdsrc/php/ext/grpcphpize./configure--with-php-config=/usr/local/php/bin/php-configmakemakeinstallvi/usr/local/php/etc/php.ini2、安装protobuf及其php扩展cd../../../../third_party/protobuf./autogen.sh./configuremakemak...
继续阅读 >
2021
10-12
10-12
php 文件上传至OSS及删除远程阿里云OSS文件
删除的时候记住不要带域名,也不要带'/'这个路径符号,如全路径是:'https://hxty.oss-cn-beijing.aliyuncs.com/data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf',则这里的path_file路径为:'data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf'。<?phpinclude'./aliyun-oss-php-sdk-2.4.2/autoload.php';useOSS\OssClient;useOSS\Core\OssException;error_reporting(E_ALL);ini_set('display_errors...
继续阅读 >
2021
10-12
10-12
php聚合式迭代器的基础知识点及实例代码
说明1、实现其他迭代器功能的接口,相当于在其他迭代器上安装一个外壳,只有一种方法。2、聚合迭代器可以与许多迭代器结合,实现更高效的迭代。实例classMainIteratorimplementsIterator{private$var=array();publicfunction__construct($array)//构造函数,初始化对象数组{if(is_array($array)){$this->var=$array;}}publicfunctionrewind(){echo"r...
继续阅读 >
2021
10-12
10-12
php桥接模式的实例用法及代码分析
说明1、将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。2、结构分为Abstraction抽象类、RefindAbstraction被提炼的抽象类、Implementor实现类、ConcreteImplementor具体实现类、Client客户端代码。实例/***颜色抽象类*ClassColour*/abstractclassColour{/***@returnmixed*/abstractpublicfunctionrun();}/***黑色*ClassBlack*/classBlackextendsCo...
继续阅读 >
2021
09-10
09-10
php类中static与self的使用区别浅析
使用self::或者__CLASS__对当前类的静态引用,取决于定义当前方法所在的类:使用static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。静态绑定是PHP5.3.0,增加的一个功能用于在继承范围内引用静态调用的类php类中static和self的区别,php类的定义中经常能看到self和static,在运行的时候经常发现结果并没有区别,但是肯定不是没有...
继续阅读 >
2021
09-07
09-07
php如何用PDO操作大数据对象
目录什么是大数据对象直接操作大数据对象会怎么样?正确的姿势总结什么是大数据对象“大”通常意味着“大约4kb或以上”,尽管某些数据库在数据达到“大”之前可以轻松地处理多达32kb的数据。大对象本质上可能是文本或二进制形式的,我们在PDOStatement::bindParam()或PDOStatement::bindColumn()调用中使用PDO::PARAM_LOB类型码可以让PDO使用大数据类型。PDO::PARAM_LOB告诉PDO作为流来映射数据,以便能使用PHPSt...
继续阅读 >
2021
09-07
09-07
详解PHP的Sodium加密扩展函数
目录AEAD_AES_256_GCM加解密信息签名Hash总结参考文档Sodium扩展在PHP7.2后是跟随PHP源码一起发布的,只需要在编译的时候加上--with-sodium即可安装成功。如果是PHP7.2之前的版本,需要单独安装这个扩展。同时,操作系统中也需要安装libsodium-devel库。AEAD_AES_256_GCM加解密首先是这个AEAD_AES_256_GCM加解密能力函数的应用。在微信支付相关的开发中,有一个接口就是使用的这种方式进行数据加密,在官方文档中,...
继续阅读 >
2021
09-07
09-07
详解PHP的Sodium加密扩展函数
目录AEAD_AES_256_GCM加解密信息签名Hash总结参考文档Sodium扩展在PHP7.2后是跟随PHP源码一起发布的,只需要在编译的时候加上--with-sodium即可安装成功。如果是PHP7.2之前的版本,需要单独安装这个扩展。同时,操作系统中也需要安装libsodium-devel库。AEAD_AES_256_GCM加解密首先是这个AEAD_AES_256_GCM加解密能力函数的应用。在微信支付相关的开发中,有一个接口就是使用的这种方式进行数据加密,在官方文档中,...
继续阅读 >
2021
09-04
09-04
php 使用预处理语句操作数据库
目录什么是预处理语句?PDO操作预处理语句mysqli操作预处理语句总结什么是预处理语句?预处理语句,可以把它看作是想要运行的SQL语句的一种编译过的模板,它可以使用变量参数进行控制。预处理语句可以带来两大好处:查询仅需解析(或预处理)一次,但可以用相同或不同的参数执行多次。当查询准备好后,数据库将分析、编译和优化执行该查询的计划。对于复杂的查询,此过程要花费较长的时间,如果需要以不同参数多次重复相同...
继续阅读 >
2021
09-04
09-04
PHP 实现数组分页
目录array_slicearray_chunkLimitIterator参数错误时的表现总结今天,我们就来学习一下可以实现这个能力的一些函数技巧。首先,我们还是准备好测试数据。$data=['A','B','C','D','E','F','G','H','I','J','K',];//$p=$_GET['p'];$p=2;$currentPage=$p<=1?0:$p-1;$pageSize=3;$offset=$currentPage*$pageSize;假设\$data就是从数据库中取出的全部数据,...
继续阅读 >
2021
09-04
09-04
PHP PDO预处理语句及事务的使用
目录预处理语句功能事务能力总结预处理语句功能预处理语句就是准备好一个要执行的语句,然后返回一个PDOStatement对象。一般我们会使用PDOStatement对象的execute()方法来执行这条语句。为什么叫预处理呢?因为它可以让我们多次调用这条语句,并且可以通过占位符来替换语句中的字段条件。相比直接使用PDO对象的query()或者exec()来说,预处理的效率更高,它可以让客户端/服务器缓存查询和元信息。当然,更加重要的一点...
继续阅读 >
2021
09-04
09-04
PHP如何初始化PDO及原始SQL语句操作
目录PDO实例dns参数PDO对象属性查询语句普通查询及遍历查询结果集(数组、对象)查询结果集(类)查询结果集(指定字段)增、删、改操作增加操作修改操作删除操作总结PDO实例首先来看看一个PDO实例是如何初始化的。$dns='mysql:host=localhost;dbname=blog_test;port=3306;charset=utf8';$pdo=newPDO($dns,'root','');普通情况下,我们直接实例化的时候传递构造参数就可以获得一个PDO对象。这样,我们就和数据库建...
继续阅读 >
2021
08-22
08-22
php的declare命令及用法详解
定义php中的declare结构用来设定一段代码的执行指令declare用于执行3个指令:ticks,encoding,strict_types作用域declare结构用于全局范围,影响到其后的所有代码(但如果有declare结构的文件被其他文件包含,则对包含他的父文件不起作用)1.ticksdeclare(ticks=1){//代码}||declare(ticks=1);两者相等//作用://解释器每执行N条可计时的低级语句就会发生的时间declare(directive=N)Tick(时钟周期)//1.每执行一条语句就执行一次r...
继续阅读 >
2021
08-10
08-10
PHP中strval()函数实例用法
1、函数说明strval()函数是PHP中的内置函数,用于将任何标准值(字符串、整数或双精度)转换为字符串。我们不能在数组或对象中使用strval。如果使用该函数,该函数只返回需要转换的值的类型名称。2、语法stringstrval(mixed$var)3、参数说明$var:可以是任何标量类型,但不能是数组或对象。4、返回值返回字符串。5、实例<?php$int_str=123;var_dump($int_str);$str=strval(123);var_dump($str);?>int(123)string(3)"1...
继续阅读 >
2021
08-08
08-08
详解PHP多进程消费队列
目录引言nginx进程模型进程设计进程信号量设计PHP安装修信号量信号量和系统调用daemon(守护)进程命令设计启动命令强制停止命令强制重启命令平滑停止命令平滑重启命令查看进程状态引言最近开发一个小功能,用到了队列mcq,启动一个进程消费队列数据,后边发现一个进程处理不过来了,又加了一个进程,过了段时间又处理不过来了......这种方式每次都要修改crontab,如果进程挂掉了,不会及时的启动,要等到下次crontab执行的时候才...
继续阅读 >