Мне нужно взять этот массив и преобразовать только ключи в одну строку. Ищете эффективный способ сделать это.
Предметы
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
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)));
Попробуйте заменить / добавить ключ с новыми значениями
foreach($arr as $k=>$v){
$k = '.navigation .'.str_replace('_', '-', $k);
$newarr[$k] = $v;
}
print_r($newarr);
если вы хотите, чтобы ключи были разделены запятыми
$str = implode(", ", array_keys($newarr))