在foreach中循环查询数据代码量比较少,但是性能比较低,好点的解决办法是将id收集起来,用in一次性查询,但是这引发了数据结构不是我们用PHP自带的函数可以合并的,今天测试了一下:
使用下面的字节写的函数可以解决
从数据库中取出来的数据总是或多或少不符合我们心目中的数据结构,类似于下面的俩个数组,要形成SQL中类似于left join后两个数组合并:
复制代码 代码如下:
$test1 = Array(
0 => Array(
'id' => 9478137,
'create_time' => 1394760724
),
1 => Array(
'id' => 9478138,
'create_time' => 1394760725
),
2 => Array(
'id' => 9478138,
'create_time' => 1394760725
)
);
$test2 = array(
0 => array(
'id' => 9478137,
'message' => 'love you'
),
1 => array(
'id' => 9478138,
'message' => 'miss you'
)
);
如果要将这两个数组,类似于sql中的left join 关联起来我们用什么函数呢?额我没有找见就自己写了
刚开始的时候,用的是嵌套循环:效率低下
复制代码 代码如下:
function _mergerArray($array1, $array2, $field1, $field2 = '') {
$ret = array();
foreach($array1 as $key1 => $value1 ) {
foreach ($array2 as $key2 => $value2) {
if($value1[$field1] == $value2[$field2]) {
$ret[$key1] = array_merge($value1, $value2);
}
}
}
return $ret;
}
改进后的办法,使用数组下标,使用两次循环:形成类似于left join的方式
复制代码 代码如下:
$test1 = Array(
0 => Array(
'id' => 9478137,
'create_time' => 1394760724
),
1 => Array(
'id' => 9478138,
'create_time' => 1394760725
),
2 => Array(
'id' => 9478138,
'create_time' => 1394760725
)
);
$test2 = array(
0 => array(
'id' => 9478137,
'message' => 'love you'
),
1 => array(
'id' => 9478138,
'message' => 'miss you'
)
);
function _mergerArray($array1, $array2, $field1, $field2 = '') {
$ret = array();
//使用数组下标的办法
foreach ($array2 as $key => $value) {
$array3[$value[$field1]] = $value;
}
foreach ($array1 as $key => $value) {
$ret[] = array_merge($array3[$value[$field1]], $value);
}
return $ret;
}
$ret = _mergerArray($test1, $test2, 'id', 'id');
print_r($ret);exit;
打印出来结果如下:
复制代码 代码如下:
Array
(
[0] => Array
(
[id] => 9478137
[message] => love you
[create_time] => 1394760724
)
[1] => Array
(
[id] => 9478138
[message] => miss you
[create_time] => 1394760725
)
[2] => Array
(
[id] => 9478138
[message] => miss you
[create_time] => 1394760725
)
)
相当于left join了吧?
相关推荐:
GPT-3.5免费吗?揭秘AI智能助手的未来与收费模式,ai 美美
揭开“好的AI软件”背后的秘密:让生活和工作更智能的利器
颠覆写作方式:免费的AI续写软件助你轻松创作
文章去AI回归创作的本真之美
seo软件叫什么,seo软件视频教程 ,eps ai 缩略图
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
SEO有点:揭秘优化之道,提升网站排名的秘诀,广州抖音seo厂家地址
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
SEO就是:让你的品牌脱颖而出,获得更多曝光与流量,梅岭关键词排名优化
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
SEO公司核心业务是什么?揭秘提升网站排名的奥秘,写作助手ai一键生成作文在线
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
优化分析:提升企业效益的关键策略,山东大网站建设
SEO难吗?揭秘SEO背后的真相,让你轻松上手!,大旺百度网站推广
seo网络培训是什么,seo工作培训会培训啥 ,ai长投影字
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
ChatGPT网站突然不能用了?如何快速解决这个问题,让你重新畅享AI对话!,ai新建多个画板
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
ChatGPT异常了:人工智能的极限与突破,ai and ethics
AI缩写在线:让人工智能助力你行业前沿技术,ai uhrehara
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
AI人工智能文章生成平台,释放创作无限可能
SEO抢权:如何在竞争激烈的市场中占得先机,正规网站建设口碑好
优化高效率:提升个人与企业竞争力的关键,安康网站推广咨询
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
ChatGPT不能访问,我的学术水平直线下降,泰州大数据ai艾灸价格
ChatGPT-01:开创人工智能新纪元,AI如何画模糊的云层
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
为什么行业都要做seo,为什么要做seo ,ai明信片
SEO与网络推广机构:如何选择最适合你的数字营销合作伙伴,ai写作软件性价比高吗
seo需要什么部门,seo主要干什么 ,ai接入仪器
OpenAI账号申诉怎么办?全方位解析解决方案,ai写作免费公众号下载
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
撰写稿子的AI,写作的“超级助手”来了!
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
seo需要什么器械,seo需要什么器械才能做 ,长续航ai纯电汽车
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
BingAdapter设置数据后没有显示数据?解决方案在这里!,ai中如何把图变形
SEO技术如何通过优化提升网站流量与排名,四平网站优化公司