刚刚研究了PHP的分解质因数,却发现Linux系统上自带了一个 factor,速度飞快,研究了半天的PHP算法速度在它前面连根毛都算不上! 语法格式:factor [参数] [root@web ~]# clear [root@web ~]# factor 22 22: 2 11 [root@web ~]# factor 222 222: 2 3 37 [root@web ~]# factor 2222 2222: 2 11 101 [root@web ~]# factor 22222 22222: 2 41 271…

2023年01月04日 0条评论 1668点热度 0人点赞 路灯 阅读全文

今天空闲,忽然想到一个挺有意思的小学学过的内容,分解质因数! 每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。 看起来很容易的样子,但怎么用程序计算出来呢?今天来研究下算法。 比如要分解一个很大的数的质因数,比如 PHP_INT_MAX,应该怎么做呢? 算法一:获取 PHP_INT_MAX 内所有的质数,循环一下,挑出质数放入数组 $primes。 算法二:用递归方法,从小到大循环 $primes 内所有数,看是否能被 PHP_INT_MA…

2023年01月04日 0条评论 1574点热度 0人点赞 路灯 阅读全文

一、日期处理 1. 检查日期是否有效 const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf()); isDateValid("December 21, 2025 01:52:00"); // true 2. 计算两个日期之间的间隔 const dayDif = (date1, date2) => Math.ceil(Math.abs(date1.getTime() - date2.getTime(…

2023年01月04日 0条评论 1538点热度 1人点赞 路灯 阅读全文

在本文中,我们将分享15个有用的 JavaScript 技巧,为每个 Web 开发人员节省宝贵的开发时间。 技巧 1、展平数组的数组 这个技巧将帮助你通过在 flat 中使用 Infinity 来展平深度嵌套的数组。 var array = [123, 500, [1, 2, [34, 56, 67, [234, 1245], 900]], 845, [30257]] //flatten array of array array.flat(Infinity) // output: // [123, 500, 1, …

2023年01月04日 0条评论 1505点热度 0人点赞 路灯 阅读全文

PHP 有 9 个超全局变量: $_SERVER、$_GET、$_POST、$_REQUEST、$_COOKIE、$_SESSION、$_FILES、$_ENV、$GLOBALS 1. $_SERVER $_SERVER是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(scriptlocations)等等信息的数组。这个数组中的项目由Web服务器创建 $_SERVER变量中的重要元素: 元素/代码 描述 $_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。 $_SERVER['…

2023年01月03日 0条评论 1661点热度 0人点赞 路灯 阅读全文

PHP 魔术常量 PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置改变而改变。 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号。 实例 <?php echo '这是第 " ' . __LINE__ . ' " 行…

2023年01月03日 0条评论 1929点热度 0人点赞 路灯 阅读全文

安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动: 下载地址为:https://github.com/phpredis/phpredis PHP安装redis扩展 以下操作需要在下载的 phpredis 目录中完成: git clone https://github.com/phpredis/phpredis.git cd phpredis-3.1.4 # 进入 phpr…

2023年01月03日 0条评论 1728点热度 0人点赞 路灯 阅读全文

HTML定义文件上传组件和上传按钮,使用了 Bootstrap ,不满意可以自己美化。 <form id="form1"> <div class="form-group"> <div class="custom-file"><input id="fileUpload" class="custom-file-input" type="file" /> …

2023年01月01日 0条评论 1482点热度 0人点赞 路灯 阅读全文

单例模式(Singleton Pattern):顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 为什么要使用单例模式 1、PHP语言本身的局限性 PHP语言是一种解释型的脚本语言,这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存,这和ASP.NET、Java等编译型是不同的,比如在Java中单例会一直存在于整个应用程序的生命周期里,变量是跨页面级的,真正可以做到这个…

2023年01月01日 0条评论 1521点热度 0人点赞 路灯 阅读全文

现在很多人喜欢用md5或md5+salt加密密码存储在数据库中,从技术的角度来说,MD5真的安全,因为MD5是不可逆的,没办法解密,除了撞库这样的方式。关于撞库简单来说就是通过建立大型数据库,将常用的各种句子密码等加密成为密文,并存储在数据库中;然后拿着密文到数据库网站查询,就有可能查到密码。 但在PHP中有更好的密码存储方式:Password Hashing,主要用到了4个函数: //查看哈希值的相关信息 array password_get_info (string $hash) //创建hash密码 stri…

2022年12月30日 0条评论 1654点热度 0人点赞 路灯 阅读全文