php
-
详解PHP中将字符串转换小写转为大写的三种方法
截至当前,PHP中将字符串小写转换为大写的函数共有三个,分别是: strtoupper 将字符串中的字符都转化为大写(PHP 4, PHP 5, PHP 7, PHP 8) mb_strtoupper 将字符串中的字符都转化为大写(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8) mb_convert_case 按照不同的模式对…
-
全民图床,2022年八款开源免费的图床相册程序推荐
人在江湖,难免要用到图床。作为分享也好,自己收藏也罢,搭建一个图床还是有用的。 如果你手上有闲置的服务器、云主机,与其放着吃灰或者挂探针,不如弄一个图床吧。 这里整理了10款比较热门的图床程序。 一、Chevereto-Free 虽然我内心是极力拒绝和否定Chevereto的,但奈何市场占有率高,所以这里姑且第一个推荐。 特别强调,Chevereto作者性情…
-
JavaScript中使用getTime出现NaN错误的原因(苹果手机或设备)
如下图,苹果手机通过getTime获取时间时,报错NaN。 代码如下: 起初我没有对Data判断时,以为是苹果必须强制约束类型,所以获取不到,于是我强制定义类型: 还是不行。 最后通过检索资料,发现苹果的时间分隔符是/,而不兼容-。 也就是如果时间是2022-03-17 15:00:00,在苹果设备中,则不能识别。 解决办法 知道原因后,就好解决了,通过正则…
-
Thinkphp中volist的key到底怎么用,怎么才能输出原有的下标key值
volist中的key起始分为两种,一种是数字类型,即123456,用于排序等情况。 而另一种,就是调用数组本身的key值。 这两者的具体用法是: 数字序列 此时,输出的结果就是1 2 3 4 5 6,可以作为序号使用。 原有数组下标 如果需要输出原有数组下标,比如我的原始数据是: 我就想输出前面的文字下标,则这样写: 通过$key输出即可。
-
让layui表单input元素支持填写数学运算式并自动计算
开发系统过程中,财务对表单input元素提出了自己的需求,要求支持Excel形式的数学计算式,如: =1024.01+528+9603.54 输入上方的运算式后,我们的input元素输出结果效果如下所示。 提交后的数据,在数据表格页面的效果如下: 实际效果还不错,也得到了财务同事的认可,这里分享出来。 实现方法 实现的方式很简单,只要弄懂逻辑之后,会觉得非常…
-
PHP中的日期比较函数date_diff详解,date_diff是否有正负之分
如果你仅仅是简单的对比,可以用两个时间戳相比较,除以86400就能得到天数只差,PHP的时间戳是以s为计量单位的,所以根据实际需要进行即可。 而你如果想要定义一个函数用于对比两个日期,则可以使用PHP的date_diff。 官方手册对于这个函数的说明地址是:https://www.php.net/manual/zh/function.date-diff.ph…
-
PHP中对运算数据保留两位小数,如是整数则补零(如0.00)的方法
通常来说,我们对保留两位小数有如下三种方法:
123456789101112$num = 10.4567;//第一种:利用round()对浮点数进行四舍五入echo round($num,2); //10.46//第二种:利用sprintf格式化字符串$format_num = sprintf("%.2f",$num);echo $format_num; //10.46//第三种:利用千位分组来格式化数字的函数number_format()echo number_format($num, 2); //10.46//或者如下echo number_format($num, 2, '.', ''); //10/46区别 第三种方法对于数据的二次运算就不是那么友好,所以我们将主要目标放在第一和第二种方法上。 第一种方法会对数据进行四舍五入,也就是上面代码形容的那样,但有个问题。 如果是10.1,他就只能显示10.1,并不会帮我们补全成10.10. 第二种方法不会…
-
thinkphp后端输出浮点数,前端无法计算,结果为NaN的情况分析
数据库约束了数据为decimal(10,2),根据thinkphp的特性,读取数据库是都会转为字符串,但奇怪的地方是,整个计算过程都毫无异常,组合成新数组时,出现了错误,错误如下: 整个数据的精度发生了变化,其实原因不难分析,无非就是计算机对浮点数精度无法把握而已,那么,到底是哪个环节让精度发生了变化呢? 约束新数组 从上面的情况可知,错误是在组合新数组时发…
-
php数组的一些技巧记录
日常开发过程中,经常会设计到数组的操作,无论是数据库查询还是数据的导入,难免都会使用到,这里将作自己在这过程中的所用所想做一个记录。 去重 比如我们在一组用户数据中,想知道一共有多少company_id,则如是操作:
123456789foreach ($data as $value) {//查看有没有重复项if (isset($res[$value['company_id']])) {//有:销毁unset($value['company_id']);} else {$res[$value['company_id']] = $value['company_id'];}};进一步处理,要去掉主键的话,则可以这样:[crayon-641d97a16011…
-
PHP通过phpspreadsheet等途径导入Excel日期时的数据处理方法
比如,我们需要录入一个入职日期,在Excel中显示如下: 导入系统后,全部变为了4开头的几位数字,这是为什么呢? 原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的类,但我更推荐通过判断后再进行数据转换,方法如下:[crayon-641d97a16025…