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を使っていた自分に反省。