• ベストアンサー
※ 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)のように変換する方法も知りたいです。
  • データベースのクエリでクオーテーションで囲まれた文字列を使用する場合、どのように指定すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.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; ?>

kiyomidesuyo
質問者

お礼

yamabejp 様 いつもおありがとうございます。 2つ目のソースが、スマートに思えますが すぐに全部理解できない所も有るので、今回は1つ目を使わせていただきました。 以下の様に、変数にして SQL分に加えました。 $address = "('".implode("','",$address)."')"; $sql ="select ******* `address` in '$address'"; 本当ににありがとうございました。

関連するQ&A

専門家に質問してみよう