- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:implodeで('a','b','c')したい)
implodeで('a','b','c')したい
このQ&Aのポイント
- PHPのimplode関数を使用して、配列['a', 'b', 'c']を文字列'a,b,c'に変換する方法を教えてください。
- また、単引用符で囲まれた文字列('a','b','c')を(a,b,c)のように変換する方法も知りたいです。
- データベースのクエリでクオーテーションで囲まれた文字列を使用する場合、どのように指定すれば良いでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ざっくりやるなら <?PHP $address_aray=array('a','b','c'); $sql ="select * from hoge WHERE 1"; if(is_array($address_aray)) $sql.= " AND `address` in ('".implode("','",$address_aray)."')"; print $sql; ?> ってことでしょうけど、implodeで処理するとサニタイズが 面倒なのでforeachで回す方がよいかもしれません。 <?PHP $address_aray=array('a','b','c'); $sql ="select * from hoge WHERE 1"; foreach((array) $address_aray as $key=>$val){ if($key==0) $sql.= " AND `address` in ('"; else $sql.= "','"; $sql.=mysql_real_escape_string($val); if($key==count($address_aray)-1) $sql.= "')"; } print $sql; ?>
お礼
yamabejp 様 いつもおありがとうございます。 2つ目のソースが、スマートに思えますが すぐに全部理解できない所も有るので、今回は1つ目を使わせていただきました。 以下の様に、変数にして SQL分に加えました。 $address = "('".implode("','",$address)."')"; $sql ="select ******* `address` in '$address'"; 本当ににありがとうございました。