内爆值数组及其键
我正在尝试破坏其键和值的数组。我可以轻松地通过内爆获得钥匙,但发现我必须重复自己才能获得钥匙。
目前我正在这样做:
$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;
}
有没有办法使数组键内爆?
例如,我可以
$vals = implode(', ', $values);
对值进行内爆,但我也需要对键执行此操作。
我也可以使用,
$keys = array();
foreach($values as $col => $val)
$keys[] = $col;
$cols = implode(', ', $keys);
$rows = implode(', ', $values);
但它仍然需要我循环创建另一个数组,当然有更好的方法,只获取密钥吗?
I'm trying to implode an array of both its keys and values. I can easily get the keys with the implode, but find I have to repeat myself for the keys.
Currently I am doing this:
$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;
}
The part that bothers me is this:
foreach($values as $col => $val) {
if(!$first) {
$cols .= ', ';
$vals .= ', ';
}
$cols .= $col;
$vals .= $val;
$first = false;
}
Is there a way to implode the array keys?
For example, I could do
$vals = implode(', ', $values);
to implode the values, but I need to do this as well for the keys.
I could also use
$keys = array();
foreach($values as $col => $val)
$keys[] = $col;
$cols = implode(', ', $keys);
$rows = implode(', ', $values);
but it still requires me to loop over it creating another array, surely there is a better way, do just get the keys?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
该函数将从多维数组中提取键
This function will extract keys from a multidimensional array
print_r($values,true);
然后从结果中删除前两行和最后一行:
print_r($values,true);
Then removing the first two lines and the last line from the result: