当你需要做这样的事情时:
SELECT * FROM userinfo WHERE id in (18,2,6,4,5)
id 数组来自另一个查询,例如:
$ids = $conn->fetchAll('SELECT origin from action WHERE url = "'.$url.'" AND SUBSTRING(origin,1,3)<>"pct" GROUP BY origin');
如果我需要解析数组以便为查询 ID 提供正确的格式,请执行以下操作:
$norm_ids = '(';
foreach ($ids as $ids) {
$norm_ids .= $ids['origin'] .',';
}
$norm_ids = substr_replace($norm_ids ,"",-1) .')';
输出的 id 如下:(id1,id2,id3,id.......)
,所以我会:FROM userinfo WHERE id in ". $norm_ids
;
但对我来说似乎很难看,有没有办法更好地做到这一点?