php数组拼接mysql in语句
数据分析
通常php后端接收前端1个数组参数时通常为:
-
数组:
['aa','bb','cc']
-
json数组字符串:
'["aa","bb","cc"]'
-
逗号隔开的字符串:
'aa,bb,cc'
先统一转为数组。
copy#json字符串转数组
$str = '["aa","bb","cc"]';
$arr = json_decode($str,true);
# ['aa','bb','cc']
#逗号隔开字符串转数组
$str = 'aa,bb,cc';
$arr = explode(',',$str);
# ['aa','bb','cc']
php数组拼接 in语句
mysql in 使用
-
数值:
select * from order where status in(1,2,3);
数值直接使用implode 将数组[1,2,3],转为字符串1,2,3,拼接即可
copy
$arr = [1,2,3]; $str = implode($arr,','); # 1,2,3 $sql = "select * from order where status in({$str})"; # select * from order where status in(1,2,3)
-
字符串:
select * from order where status in('waitbuyerpay','waitsellersend','waitbuyerreceive');
字符串使用
implode($arr,',')
转成字符串为waitbuyerpay,waitsellersend,waitbuyerreceive
拼接的sql是有错误的可以
implode($arr,"','")
转成waitbuyerpay','waitsellersend','waitbuyerreceive
再在字符串两边拼上'
copy
$arr = ['waitbuyerpay','waitsellersend','waitbuyerreceive']; $str = implode($arr,"','"); # waitbuyerpay','waitsellersend','waitbuyerreceive $sql = "select * from order where status in('{$str}')"; # select * from order where status in('waitbuyerpay','waitsellersend','waitbuyerreceive')
分类:
mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-09-09 php 无限级分类