質問: array( "会員ID"=>"ID00010", "住所"=>"埼玉県○市", "氏名"=>"○本○郎", "年齢"=>"20" ); をINSERTするケースです。 この例では、会員ID、住所、氏名、年齢が連想配列に格納されていますが、 職業が格納されたり、年齢が格納されなかったり、格納されているもの処理毎に不定です。(主キーの会員IDは必ず設定します) この$valuesをINSERTするコードを書きたく、 1カラムづつ、$valuesに格納されているかどうか判定して、SQL用の文字列を操作していくコードは書けたのですが、メンテナンスを考えて、もう少しエレガントに書けないかと思い投稿させていただきました。 検索もしてみたのですが、なかなかぴったりくるコードに出会えず。
回答: $defaultValue = array( '会員ID'=>null, '住所'=>'日本', '氏名'=>'通りすがり', '性別'=>'不明', '年齢'=>'永遠の23歳', '職業'=>'ぷー' ); のようなデフォルト値の配列を作っておいて、 $value = $defaultValue + $values; してから、全てのカラムについて挿入すればよいと思います。