从动态字符串中删除第一个逗号


Remove first comma from on-the-fly string

由于我是一个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')));