自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 问答 (2)
  • 收藏
  • 关注

原创 PHP缓冲区ob_start(),ob_clean(),ob_get_flush(),ob_end_clean()等用法

ob_start()开启缓冲区,以下输出会存到缓冲区,使用$data=ob_get_flush();获取缓冲区内容,ob_end_clean();清空缓冲区内容(不会再输出到页面),ob_end_clean()必须配合ob_start()使用。ob_clean()也是清空输出缓冲区的内容,但是可以不搭配ob_start()使用,因为PHP默认先输出到缓冲区,注意:ob_clean 只是清空当前缓冲区的数据,如果先前输出的数据大于缓冲区,那么一部分数据已经发送,发送的这部分数据是无法清空的。另外如

2022-03-16 14:07:34 924

转载 tp5.1分批处理数据chunk

分批处理数据,第一个参数为分的条数,第二个为回调函数一般用于大批量的添加和修改数据库数据(这种场景是可以这样用。但最好的方案还是做队列处理)转载tp5.1分批处理数据chunk_咔咔博客-CSDN博客...

2021-12-01 16:15:58 1527

原创 PHP生成器,yield关键字,处理大量数据极大减少内存使用率

php生成器可以减少内存使用率,原理是存储临时变量时每次只存储一个,配合yield关键字(类似return)返回(生产)一个对象通过循环遍历来读取,他存储的特性导致for循环并不会一次性结束,每一次for循环返回值到foreach中遍历,之后再进行第二次for循环。 可以通过send直接传入yield值,进行一些判断:可以 yield $i=>$i+100;返回数组对...

2021-12-01 15:31:59 541

原创 ZipArchive::locateName(): Invalid or uninitialized Zip object,PHPexcel部分文件不能导入,格式不同问题,无法读取

ZipArchive::locateName(): Invalid or uninitialized Zip object报错这个,但是别的文件 不管07还是05,都能导入,也写判断了,同一个文件xlsx后缀就能读取,xls就不能,后来加一个就OK了

2021-11-22 10:43:31 892

原创 乐观锁悲观锁基本概念,通俗易懂,不同条件下如何使用

1.悲观锁意思就是只能一个人操作,当前操作完了才能给别人操作(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)2.乐观锁乐观锁是一种不锁记录的实现方式,采用CAS模式,采用version字段来作为判断依据。每次对数据的更新操作,都会对version+1,这样提交更新操作时,如version的值已被更改,说明这期间有人 操作过,则更新失败。ABA问题:如果一个变量V初次读取的时候是A值,并且在准备赋值的时候检查到它仍然是A值,那我们就能说明它的值没有被其他线程修改过了

2021-11-20 12:00:47 783

原创 array_column(),获取二维数组某一字段,重置数组建

array_column(),获取二维数组某一字段,重置数组建

2021-11-20 11:46:01 503

原创 表链接时因为一列数据不同产生多行,合并数据成一行

这里一个人负责多个地区,会产生多行,用 GROUP_CONCAT ,使用‘,’分割合并成一行$data=Db::query(" select a.id,a.username,a.xingming,a.bumen,a.level,j.name,GROUP_CONCAT(dq.diquname) as diqu,GROUP_CONCAT(dq.diqu) as diquid from tp51_admin a left join tp51_juese j on a.le.

2021-11-17 17:08:08 143

原创 二维数组求差,二维数组去除指定元素,数组

二维数组去除指定的二维数组(一维更好说)最近查数据库要做一个未匹配条件筛选,我真气,数据库操作里有not in,not like查找未匹配的数据,我就是不看,愣是自己想,查出所有的数据,然后减去当前查的数据,就是未匹配的数据,在此记个坑。/***$a是所有数据* $res是匹配数据* $fdata是最终差值*/foreach ($a as $k => $v) { $v=implode(',',$v);//循环出来成字符串 $temp1[]=...

2021-11-12 17:08:22 843

原创 Thinkphp5 验证器报错strip_tags() expects parameter 1 to be string, array given

在使用验证器的时候,打印错误strip_tags() expects parameter 1 to be string, array given//原代码$validate = new AdminValidate;if (!$validate->scene('add')->batch()->check($data)) { $this->error($validate->getError());//报错},报错发现是因为$this->error()里

2021-11-06 14:31:23 1336

原创 tp框架like模糊查询报错

用db()-where('name','like','%'.$data.'%')模糊查询总提示like错误,应该是框架写法不对,用了下面两个方法可以完成模糊查询//原生查询$data=Db::query(" select * from tp5_out o left join tp5_hospital h on o.hospitalid=h.hospitalid where (o.managername like '%$data%') ");//db.

2021-11-04 11:04:26 661

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除