首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何设置变量分隔符

如何设置变量分隔符
EN

Stack Overflow用户
提问于 2018-07-31 08:58:58
回答 1查看 422关注 0票数 0

我有一个变量$cameramodel,它包含wordpress分类的术语meta:

代码语言:javascript
复制
<?php 
function cameramodel() {
$terms = get_the_terms($post->ID, 'camera');
$result = "";
foreach ($terms as $term) {
    $term_id = $term->term_id;
    $result .= get_term_meta( $term_id, 'model', true );
}
return $result;
}

$cameramodel = cameramodel(); ?>

在前端,我会回应$cameramodel

代码语言:javascript
复制
<?php echo $cameramodel; ?>

有些情况下,$cameramodel包含多个值,但是当我回显$cameramodel时,它们都出现在一行上,没有空格。我的问题是,如何在每个值之间创建分隔符?我希望每个值都在它自己的行上,并且我希望能够用单词" and“来分隔它们。

例如,如果变量中包含"one,two,three“,它当前输出的是"onetwothree",但我想要的是:

代码语言:javascript
复制
one and
two and
three

希望我说得够清楚了。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 09:24:41

如果你愿意稍微编辑一下这个函数,我相信你会受益于使用一个数组,然后将它连接成一个字符串,并将你选择的分隔符作为参数传递:

代码语言:javascript
复制
<?php 
    function cameramodel($delimiter) {
        # Get the terms.
        $terms = get_the_terms($post -> ID, "camera");

        # Create an array to store the results.
        $result = [];

        # Iterate over every term.
        foreach ($terms as $term) {
            # Cache the term's id.
            $term_id = $term -> term_id;

            # Insert the term meta into the result array.
            $result[] = get_term_meta($term_id, "model", true);
        }

        # Return the elements of the array glued together as a string.
        return implode($delimiter, $result);
    }

    # Call the function using a demiliter of your choice.
    $cameramodel = cameramodel(" and<br>");
?>

当然,您可以将所需的分隔符作为implode的第一个参数嵌入到函数中,而不是将其作为参数传递。

Here是一个使用相同逻辑的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51604112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档