我正试图将一个数组的键和值都拼接起来。我可以轻松地获取键,但发现我必须重复自己来获取值。
目前我正在做这个:
目前我正在做这个:
$values = array(
'id' => $sel['id'],
'creator_id' => $sel['creator_id'],
'campaign_id' => $sel['campaign_id'],
'save_results' => $sel['save_results'],
'send_results_url' => $sel['send_results_url'],
'reply_txt' => $sel['reply_txt'],
'allow_multiple_votes' => $sel['allow_multiple_votes']
);
$cols = '';
$vals = '';
$first = true;
foreach($values as $col => $val) {
if(!$first) {
$cols .= ', ';
$vals .= ', ';
}
$cols .= $col;
$vals .= $val;
$first = false;
}
让我感到困扰的部分是:
foreach($values as $col => $val) {
if(!$first) {
$cols .= ', ';
$vals .= ', ';
}
$cols .= $col;
$vals .= $val;
$first = false;
}
有没有一种方法可以将数组键implode起来?
例如,我可以这样做:
$vals = implode(', ', $values);
我希望将值implode在一起,但我还需要对键执行相同的操作。
我也可以使用
$keys = array();
foreach($values as $col => $val)
$keys[] = $col;
$cols = implode(', ', $keys);
$rows = implode(', ', $values);
但仍需要循环遍历创建另一个数组,肯定有更好的方法,只能获取键吗?