prepared statementを生成するときにforeachを使わない
UPDATEでprepared statementを生成するときの処理でforeach使うよりも短く書く方法。
ということでいきなりソースコード。
下はforeach版
<?php $tmp = array('hoge'=>1, 'fuga'=>2); $val = ''; foreach(array_keys($tmp) as $v) { $val .= "$v = ?, "; } $val = rtrim($val, ', '); $sql = "UPDATE hoge SET $val"; var_dump($sql); ?>
以下joinを使った場合。
<?php $tmp = array('hoge'=>1, 'fuga'=>2); $val = join(' = ?,', array_keys($tmp)) . ' = ?'; $sql = "UPDATE hoge SET $val"; var_dump($sql); ?>
今までforeachを使っていた自分に反省。