将数组键转换为格式化的 class 名称
Convert array keys to formatted class names
我需要获取此数组并将仅 keys 转换为一个字符串。寻找一种有效的方法来做到这一点。
- 每个元素在名称前添加句点 ( .first_post )
- 在每个 class 名称之前与另一个字符串和 space 连接
(.导航.first_post)
- 名称后的逗号 ( .navigation
.first_post, )
- 将 "_" 替换为 "-"-"-"-" ( .navigation .first-post , )
项目
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
尝试 replace/add 具有新值的键
foreach($arr as $k=>$v){
$k = '.navigation .'.str_replace('_', '-', $k);
$newarr[$k] = $v;
}
print_r($newarr);
如果你想要键作为逗号分隔的字符串
$str = implode(", ", array_keys($newarr))
array_map
gives you an elegant way of applying a transformation to each of an array's elements. After doing that, all you need to do is 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)));
我需要获取此数组并将仅 keys 转换为一个字符串。寻找一种有效的方法来做到这一点。
- 每个元素在名称前添加句点 ( .first_post )
- 在每个 class 名称之前与另一个字符串和 space 连接 (.导航.first_post)
- 名称后的逗号 ( .navigation .first_post, )
- 将 "_" 替换为 "-"-"-"-" ( .navigation .first-post , )
项目
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
尝试 replace/add 具有新值的键
foreach($arr as $k=>$v){
$k = '.navigation .'.str_replace('_', '-', $k);
$newarr[$k] = $v;
}
print_r($newarr);
如果你想要键作为逗号分隔的字符串
$str = implode(", ", array_keys($newarr))
array_map
gives you an elegant way of applying a transformation to each of an array's elements. After doing that, all you need to do is 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)));