格式化函数值(货币)的数字

时间:2012-06-25 10:29:06

标签: php wordpress formatting currency

我正在使用高级自定义字段wordpress插件,我输出其中一个字段的值:the_field('Price');,它给出了一个数字。

我想用逗号将这个数字格式化为英镑。

我输出它时遇到一些问题。似乎首先是输出的函数值或数字格式函数。

$money = the_field('Price');
echo  '£' . number_format($money,0, '.', '');

这不起作用并输出,例如300000£0

提前感谢。

3 个答案:

答案 0 :(得分:1)

看起来the_field()不会返回任何内容,而是回声。

您可以编写自己的自定义函数:

function my_the_field($field, $post_id = false) {
    $value = get_field($field_name, $post_id);
    if (is_array($value)) {
        $value = @implode(', ', $value);
    }
    return $value;
}

并使用它代替the_field()

或使用ob_start()ob_get_clean()捕获输出并将其传递给number_format()

答案 1 :(得分:0)

感谢您的出色答案:

第二种选择有效:

ob_start();

        the_field('Price');

        $out = ob_get_clean();
        $out = strtolower($out);

       echo '£' .  number_format($out);

       // var_dump($out);

答案 2 :(得分:0)

@Andrew Welch 您的解决方案有效,但该功能已存在于ACF(高级自定义字段)

if (get_field('Price')){
 the_field('Price');
}