分享按钮

tp5 的一些方法

默认分类 / 10734人浏览 / 0人评论

tp5  随机取几条数据

用这个函数就好了

->orderRaw('rand()')

  ->orderraw('from_unixtime(createtime, "%y-%m-%d") desc, score desc')

多个数的自增,自减

->update(['score'=>["inc",10],'money'=>['dec',10]]);
ini_set('max_execution_time', '0');//执行最久的时间 0表示无限制
ini_set('memory_limit', '-1');//限制PHP内存的使用


//接收前端传输数据
$array=Request::instance()->post('array/a');


// 查询JSON类型字段 (info字段为json类型)

Db::table('think_user')->where('info$.email','thinkphp@qq.com')->find();


mysql设置字段不能小于0

alter table fa_user  modify  like_num int(11) unsigned default 0 not null comment '点赞数量';


模糊搜索查询  当展示搜索出来的标题后,再展示内容sql


SELECT project,content,id,CASE WHEN project LIKE '%h%' THEN 1 WHEN content LIKE '%h%' THEN 2 END AS flag FROM


hudong_project  WHERE  (project LIKE '%h%' OR content LIKE '%h%') ORDER BY


flag ASC, createtime DESC LIMIT 0,30



MYSQL 复制表及其数据

 create table fa_product_library2 like fa_product_library;

即为 生成一个和 fa_product_library 的结构一样的 fa_product_library2

复制数据

insert into fa_product_library2  select * from fa_product_library;

将 fa_product_library 数据复制到 fa_product_library2




输出去掉bom

ob_get_clean();
ob_clean();

header('Content-type:text/html;charset=utf-8');


if(!preg_match("/^1[12345789]\d{9}$/", $param['phone'])){
  $this->result('电话号不正确',null,0,'json');
}
if(!preg_match("/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/",$param['idcare'])){
   $this->result('身份证号不正确',null,0,'json');
}

php 多个数相加

if (!function_exists('bcAddBatch')) {
function bcAddBatch(array $numbers, int $scale = 2): string
{
if ($numbers && count($numbers) >= 2) {
$return = '0';
foreach ($numbers as $item) {
$return = bcadd($item, $return, $scale);
}
return $return;
}
return bcadd('0', $numbers[0] ?? '0', $scale);
}
}




php超过10000显示为万(**w)

$like=18000;echo $like>=10000 ? $like/10000 .'w' : $like;

//PHP  时间戳 毫秒

public static function getMillisecond(){
   list($msec, $sec) = explode(' ', microtime());
   $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
   return $msectimes = substr($msectime,0,13);
}


/*

* 图片上传
* */

public  function  uploadimage(){
   $file = request()->file('file');
   // 移动到框架应用根目录/public/uploads/ 目录下
   $info = $file->move('uploads/');
   if ($info) {
       $path = '/uploads/'.$info->getSaveName();

       db('user')->where('id',$this->auth->id)->update(['avatar'=>$path]);

       return responseAjax(200,'成功',$path);
   }
}


随机生成唯一的数字数

substr(base_convert(md5(uniqid(md5(microtime(true)),true)), 16, 10), 0, 20);


随机生成唯一的字符串

substr(sha1(mt_rand().uniqid()),0,20);

echo "前面用0补位后:".str_pad($str,10,"0",STR_PAD_LEFT);

echo "后面用0补位后:".str_pad($str,10,"0");

echo "首尾用0补位后:".str_pad($str,10,"0",STR_PAD_BOTH);


//可以在文件开头位置设置默认配置的时区
//也可以在php.ini中进行设置date.timezone(所有文件生效)
ini_set('date.timezone','Asia/Shanghai');

echo '
上海时区时间:'
.date("Y-m-d H:i:s").'
'
;

//或者直接设置时间格式
date_default_timezone_set('asia/tokyo');
echo '
东京时区时间:'
.date("Y-m-d H:i:s").'
'
;

echo '
格式化时间:'
.date("YmdHis").'
'
;

thinkPHP5 分页

->paginate(15,false,['query' => request()->param()]);


PHP判断字符的长度,汉字算两个字符

$str = "啊摄像机啥多打点23333";

$value = iconv("UTF-8", "GBK//IGNORE", $str);
$length = strlen($value);


感谢博主,喝杯咖啡~