立即咨询
18581041059
QQ咨询
QQ账号:
2468813550
服务热线
服务热线:
18581041059
在线咨询
在线咨询:
18581041059
微信咨询
TOP
返回首页 在线咨询 一键拨号 返回顶部
当前位置: 首页 技术知识>在thinkPHP中截取子串的几个解决方法
在thinkPHP中截取子串的几个解决方法
时间:2024-11-19 11:03 浏览:59 类型:技术知识

修改一个百度小程序时遇到个难解决的问题,最后发现可以用多种方法解决,一是使用ThinkPHP的each方法解决,另一种是使用mysql的left函数,还有一种是使用分解再组合的方式解决。

最近小程序查得严,我一个图片展示不美观,被要求整改。原来是文字太多,图片没显示完的原因,只有截取字符串,可以在小程序中用js截取,也可以在程序中截图,下面分别有程序接口处理的方法。

1、ThinkPHP的each方法解决

Db::name('schools')->alias('a')->field('a.id,left(a.school_name,12) as school_name,city.city_name') ->where($where)->order('a.id','desc')->paginate(10)->paginate($pagenumber,false,['query'=>request()->param()])->each(function($item, $key){

$item["school_name"] = mb_substr($value['school_name'],1,10,'utf-8');

return $item;

});

2、使用mysql的left函数

Db::name('schools')->alias('a')->field('a.id,left(a.school_name,12) as school_name,city.city_name') ->where($where)->order('a.id','desc')->paginate(10)

3、拆分后再组合

$list = Db::name('schools')->alias('a')->field('a.id,left(a.school_name,12) as school_name,city.city_name') ->where($where)->order('a.id','desc')->paginate(10);

$data = $list->all();

foreach ($data as $k =>$v){

$item["school_name"] = mb_substr($value['school_name'],1,10,'utf-8');

$list[$k] = $v;

}

$this->assign('list', $list);

其实还有一种方法可以通过thinkphp的读写器,但必须在Model中完成。

相关推荐
2021-09-01 10:37
公安备案的步骤和相关资料
查看详情
2022-06-21 17:19
网站报net::ERR_CONNECTION_CLOSED的处理方法
查看详情
2021-05-24 15:54
网站建设服务
查看详情
2022-06-28 08:21
360元开6年腾讯云服务器是漏洞还是营销手段?
查看详情
2021-04-30 09:25
汇齐餐饮文化有限公司网站建设方案
查看详情