从即时字符串中删除第一个逗号

时间:2011-08-05 21:25:22

标签: php string preg-replace explode comma

由于我是一个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这个术语名称有不同的方式,你们(和女士们)可以帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

旧学校:

$terms = wp_get_post_terms($post->ID,'jobtype');
$names = array();
foreach($terms as $term){
    $names[] = $term->name;
}
echo implode(',', $names);

当PHP 5.3引入anonymous functions [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')));

但是如上所述,这只适用于使用PHP 5.3。