我需要使用此数组并仅将键转换为一个字符串。寻找一种有效的方法来实现这一目标。
产品
array (
'first_post' => 'First Post'
'first_page' => 'First Page'
'prev_page' => 'Previous Page'
'next_page' => 'Next Page'
'last_page' => 'Last Page'
'last_post' => 'Last Post'
);
这是我所希望的
.navigation .first-post, .navigation .first-page, .navigation .prev-post,
.navigation .next-page, .navigation .last-page, .navigation .last-post
答案 0 :(得分:2)
array_map
为您提供了一种将变换应用于每个数组元素的优雅方法。完成后,您需要做的就是implode
连接所有值的结果:
$arr = array (
'first_post' => 'First Post',
'first_page' => 'First Page',
'prev_page' => 'Previous Page',
'next_page' => 'Next Page',
'last_page' => 'Last Page',
'last_post' => 'Last Post'
);
function transform($x) {
return '.navigation .' . str_replace('_', '-', $x);
};
$result = implode(', ', array_map('transform', array_keys($arr)));
答案 1 :(得分:1)
尝试使用新值替换/添加键
foreach($arr as $k=>$v){
$k = '.navigation .'.str_replace('_', '-', $k);
$newarr[$k] = $v;
}
print_r($newarr);
如果您想将密钥作为逗号分隔的字符串
$str = implode(", ", array_keys($newarr))