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

发布于 2024-11-28 07:46:47 字数 472 浏览 1 评论 0原文

由于我是一个 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; 并删除第一个 ', '

即使我可以通过不同的方式回显术语名称,你们(和女孩们)可以帮助我吗?

谢谢!

As I'm a bit of php noob, I'm not sure whether to go with preg_replace() or to explode() then implode(). Either way, I don't know how to go about it.

I'm in wordpress, and I'm running this code:

<?php $terms = wp_get_post_terms($post->ID,'jobtype');
foreach($terms as $term){echo ', ' . $term->name;} ?>

I need to capture into a string the echo ', ' . $term->name; and remove that first ', '.

Even if there's a different way I can echo the term names, could you guys (and gals) help me out?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开柳相依 2024-12-05 07:46:47

老派:

$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')));

但正如所说,这仅在您使用 PHP 5.3。

Old school:

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

As PHP 5.3 introduced anonymous functions [docs], array_map [docs] becomes more interesting for these "one time" jobs:

echo implode(',', array_map(function($term) { return $term->name; }, 
                            wp_get_post_terms($post->ID,'jobtype')));

Or maybe more descriptive with a reusable function:

function getProperty($prop) {
    return function($object) use ($prop) {
        return $object->{$prop};
    }
}

echo implode(',', array_map(getProperty('name'), 
                            wp_get_post_terms($post->ID,'jobtype')));

But as said, this only works if you use PHP 5.3.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文