0

我的一个站点经常有超过 1000 名并发访问者,为了保持一致性,我想在显示中添加千位分隔符,使其显示为 1,000。

我最初的想法只是在保存客人计数的变量之前添加 number_format ,但这会因某种原因停止计数器工作。

helper.php 中计算客人的函数如下所示:

    // show online count
static function getOnlineCount() {
    $db     = JFactory::getDbo();
    // calculate number of guests and users
    $result = array();
    $user_array  = 0;
    $guest_array = 0;
    $query  = $db->getQuery(true);
    $query->select('guest, usertype, client_id');
    $query->from('#__session');
    $query->where('client_id = 0');
    $db->setQuery($query);
    $sessions = (array) $db->loadObjectList();

    if (count($sessions)) {
        foreach ($sessions as $session) {
            // if guest increase guest count by 1
            if ($session->guest == 1 && !$session->usertype) {
                $guest_array ++;
            }
            // if member increase member count by 1
            if ($session->guest == 0) {
                $user_array ++;
            }
        }
    }

    $result['user']  = $user_array;
    $result['guest'] = $guest_array;

    return $result;
}

在模板中,数据使用以下方式显示:

<?php if ($showmode == 0 || $showmode == 2) : ?>
<?php $guest = JText::plural('MOD_WHOSONLINE_GUESTS', $count['guest']); ?>
<?php $member = JText::plural('MOD_WHOSONLINE_MEMBERS', $count['user']); ?>
<p><?php echo JText::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest, $member); ?></p>

我在哪里放置 number_format 以便添加分隔符?

4

1 回答 1

0

这不起作用吗?

$guest = JText::plural('MOD_WHOSONLINE_GUESTS',number_format($count['guest'],0,'.',','));
于 2013-11-10T13:40:40.770 回答