由于我是一个php新手,我不确定是否与preg_replace()
或explode()
然后implode()
一起去。不管怎样,我都不知道该怎么做。
我在wordpress中,我正在运行这段代码:
<?php $terms = wp_get_post_terms($post->ID,'jobtype');
foreach($terms as $term){echo ', ' . $term->name;} ?>
我需要将echo ', ' . $term->name;
捕获到字符串中并删除第一个', '
。
即使有不同的方法我可以echo
术语名称,你们能帮我吗?
谢谢!
老派:
$terms = wp_get_post_terms($post->ID,'jobtype');
$names = array();
foreach($terms as $term){
$names[] = $term->name;
}
echo implode(',', $names);
由于PHP 5.3引入了匿名函数[docs], array_map
[docs]对于这些"一次性"的任务变得更有趣了:
echo implode(',', array_map(function($term) { return $term->name; },
wp_get_post_terms($post->ID,'jobtype')));
或者用一个可重用的函数来描述:
function getProperty($prop) {
return function($object) use ($prop) {
return $object->{$prop};
}
}
echo implode(',', array_map(getProperty('name'),
wp_get_post_terms($post->ID,'jobtype')));