首页
📷在线壁纸
🎬娱乐天地
🔖友情链接
更多
📝留言板
Search
1
【javascript】JS-向当前url追加参数
2,345 阅读
2
【PHP】生成随机昵称
2,219 阅读
3
【PHP】判断一个字符串是否属于序列化后的数据
2,024 阅读
4
【css】html+css给文章页,做阅读全文
1,975 阅读
5
【PHP】 设计模式(23种)
1,910 阅读
📂默认分类
💓typecho
🏳️🌈代码改变世界
🍇 mysql
🍈 Winform
🍓 golang
🍉 设计模式
🥝 PHP
🍎 python
🍊 nginx
🍋 网络安全
🍍 javascript
🫑 database
🍭文艺范
🍏mac
AI
LLM
stableDiffusion
TTS
yolo
3D
code
comfyui
ASR
登录
Search
标签搜索
php
typecho
代码注释
redis
mysql
go
golang
nginx
thinkphp
docker
gin
linux
curl
html
mamp
算法
短网址
构造函数
webhook
代码片段
依然范儿特西
累计撰写
147
篇文章
累计收到
1
条评论
首页
栏目
📂默认分类
💓typecho
🏳️🌈代码改变世界
🍇 mysql
🍈 Winform
🍓 golang
🍉 设计模式
🥝 PHP
🍎 python
🍊 nginx
🍋 网络安全
🍍 javascript
🫑 database
🍭文艺范
🍏mac
AI
LLM
stableDiffusion
TTS
yolo
3D
code
comfyui
ASR
页面
📷在线壁纸
🎬娱乐天地
🔖友情链接
📝留言板
搜索到
125
篇与
的结果
2021-06-04
【PHP】 如何避免在foreach 里查询数据库
<?php ### 如何避免在foreach 里查询数据库 /** * 场景: * 商品表: goods * goods_id 商品ID * goods_name 商品名称 * brand_id 品牌id * 品牌表: brand * brand_id * brand_name **/ //此时我们已经得到一组数据,想到拿到品牌名称(此处为了演示。不考虑链表查询的情况下) $data_list = [ [ 'id'=>1, 'goods_id'=>1, 'goods_name'=>'老范测试', 'brand_id'=>1, //或许会拿更多字段,比如 产地,规格,等等 ], //-----或许更多数据 ]; /** * 错误示例 * 在业务量大的情况下。此处会多次读取数据库。增加数据库压力 */ foreach ($data_list as $key => $value) { $brand_mes = Db::table('brand')->field('name')->where(['id'=>$value['brand_id']])->find() if(!empty($brand_mes)){ $data_list[$key]['brand_name'] = $brand_mes['name']; }else{ $data_list[$key]['brand_name'] = '老范品牌'; //此处给一个默认值 } } /** * 建议使用以下用法,数据库查询一次,把其他操作放在内存里,以减少数据库IO * */ $brand_id_str = array_column($data_list,'brand_id'); //查询当前品牌ID包含所有品牌信息 $brand_list = Db::table('brand')->field('id,name')->whereIn('id',$brand_id_str)->select() $res_brand_array = []; if(!empty($brand_list)){ foreach ($brand_list as $k => $v) { // brand_id => brand_name 以这种形式存储,便于读取 $res_brand_array[$v['id']]=$v['name']; } } //最后组装数据 foreach ($data_list as $key => $value) { if(isset($res_brand_array[$value['brand_id']]) && !empty($res_brand_array[$value['brand_id']])){ $data_list[$key]['brand_name'] =$res_brand_array[$value['brand_id']; }else{ $data_list[$key]['brand_name'] = '老范品牌'; //此处给一个默认值 } //此处也可以增加其他字段的判定操作 } ?>
2021年06月04日
171 阅读
0 评论
2 点赞
2021-06-02
【javascript】JS-向当前url追加参数
var cate_id = 3; //当前url 追加参数 var newurl = updateQueryStringParameter(window.location.href, 'cate_id', cate_id); window.location.href = newurl; //当前url 追加参数 function updateQueryStringParameter(uri, key, value) { if(!value) { return uri; } var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); var separator = uri.indexOf('?') !== -1 ? "&" : "?"; if (uri.match(re)) { return uri.replace(re, '$1' + key + "=" + value + '$2'); } else { return uri + separator + key + "=" + value; } }
2021年06月02日
2,345 阅读
0 评论
1 点赞
2021-05-26
【PHP】抽奖算法
传入一个概率。得出是否中奖
2021年05月26日
1,709 阅读
0 评论
1 点赞
2020-03-31
【PHP】php实现的无限极分类
上代码<?php $rows = array( array( 'id' => 1, 'name' => 'dev', 'parentid' => 0 ), array( 'id' => 2, 'name' => 'php', 'parentid' => 1 ), array( 'id' => 3, 'name' => 'thinkphp', 'parentid' => 2 ), array( 'id' => 4, 'name' => 'life', 'parentid' => 0 ), array( 'id' => 5, 'name' => 'pdo', 'parentid' => 2 ), array( 'id' => 6, 'name' => 'pdo-mysql', 'parentid' => 5 ), array( 'id' => 7, 'name' => 'java', 'parentid' => 1 ) ); $tree=build_tree($arr,0); print_r($tree); function build_tree($rows,$root_id){ $childs=findChild($rows,$root_id); if(empty($childs)){ return null; } foreach ($childs as $k => $v){ $rescurTree=build_tree($rows,$v['id']); if( null != $rescurTree){ $childs[$k]['childs']=$rescurTree; } } return $childs; } function findChild($arr,$id){ $childs=array(); foreach ($arr as $k => $v){ if($v['parentid']== $id){ $childs[]=$v; } } return $childs; } ?>
2020年03月31日
1,502 阅读
0 评论
0 点赞
2020-02-22
【PHP】判断一个字符串是否属于序列化后的数据
function is_serialized( $data ) { $data = trim( $data ); if ( 'N;' == $data ) return true; if ( !preg_match( '/^([adObis]):/', $data, $badions ) ) return false; switch ( $badions[1] ) { case 'a' : case 'O' : case 's' : if ( preg_match( "/^{$badions[1]}:[0-9]+:.*[;}]\$/s", $data ) ) return true; break; case 'b' : case 'i' : case 'd' : if ( preg_match( "/^{$badions[1]}:[0-9.E-]+;\$/", $data ) ) return true; break; } return false; }
2020年02月22日
2,024 阅读
0 评论
0 点赞
2020-02-22
【PHP】获取汉字首字母大写
封装方法
2020年02月22日
1,166 阅读
0 评论
0 点赞
2020-02-22
【PHP】限制IP访问,授权IP,授权域名,支持单个,多个,通配符,IP段,支持黑白名单
其中 ip2long 为php内置函数,将IPv4的ip地址(以小数点分隔形式)转换为int
2020年02月22日
1,230 阅读
0 评论
0 点赞
2020-02-22
【PHP】百家姓姓名判断
百家姓姓名判断,封装方法:
2020年02月22日
1,274 阅读
0 评论
0 点赞
2020-01-14
【PHP】获取两个时间戳之间相隔多少天多少小时多少分多少秒
返回类型: 默认值为0,0/不为0则拼接返回,1/*秒,2/分秒,3/时分*秒/,4/日时分秒,5/月日时分*秒,6/年月日时分秒
2020年01月14日
1,334 阅读
0 评论
0 点赞
2020-01-11
【css】html+css给文章页,做阅读全文
手机打开一些体验很好的网站的时候,当文章很长的时候,为了用户体验更好一点,都会出现“阅读全文”这些字样所以在这里,就效仿做一下这样的效果把,会碰到几个问题需要解决的1,我只想在移动端出现,并不想电脑上出现2,透明遮挡有些是用图片解决,但是我网站有白天黑夜模式,这样必须用两张图片解决,这样不太好,所以用样式做出半透明阴影3,有些文章篇幅很小,本不该出现阅读全文的时候,也会出现
2020年01月11日
1,975 阅读
0 评论
0 点赞
1
...
8
9
10
...
13