从即时字符串中删除第一个逗号
Posted
技术标签:
【中文标题】从即时字符串中删除第一个逗号【英文标题】:Remove first comma from on-the-fly string 【发布时间】:2011-08-05 21:25:21 【问题描述】:由于我是一个 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
术语名称,你们(和女孩)能帮帮我吗?
谢谢!
【问题讨论】:
你想用什么替换第一个','? @yokoloko 如果你看这个话题,我只想删除它。 【参考方案1】:老派:
$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 时才有效。
【讨论】:
这完美!我没心情看看我的主机是否支持 PHP 5.3,所以我只使用可行的。非常感谢!以上是关于从即时字符串中删除第一个逗号的主要内容,如果未能解决你的问题,请参考以下文章