是否有一种更优雅的方式来连接多个变量,而不是PHP中的'过程'方法?
例如,让我们考虑这种情况:
$sql_columns = $sql_values = '';
foreach ($this->_data as $column => $value)
{
// How i d like to do it
// list ($sql_columns, $sql_values) .= array(", $column", ', ?'); #Error
// procedural method
$sql_columns .= ", $column";
$sql_values .= ', ?';
}
你可以这样做:
$sql_columns = implode(', ', array_keys($this->_data));
$sql_values = rtrim(str_repeat('?, ', count($this->_data)), ', ');
可以操作数组、数组的键和值。implode
PHP Manual有助于连接值。array_fill
PHP Manual可以生成问号。一些快速输入代码:
$columns = array_keys($this->_data);
$sql_columns = implode(', ', $columns);
$sql_values = implode(', ', array_fill(0, count($columns), '?'));
http://php.net/manual/en/function.join.php
$sql_columns = implode(', ', array_keys($this->_data));