我试图简单地获取变量$ output中的数字并将其转换为具有千位分隔符的数字。它当前输出的数字是49995,但我希望它显示为49,995。
遇到麻烦。帮助
function twitter_followers($user = 'mytwitterusername'){
// Build Twitter api url
$apiurl = "http://api.twitter.com/1/users/show.json?screen_name={$user}";
//cache request
$transient_key = $user . "_twitter_followers";
// If cached (transient) data are used, output an HTML
// comment indicating such
$cached = get_transient( $transient_key );
if ( false !== $cached ) {
return $cached;
}
// Request the API data, using the constructed URL
$remote = wp_remote_get( esc_url( $apiurl ) );
// If the API data request results in an error, return
// an appropriate comment
if ( is_wp_error( $remote ) ) {
return '<p>Twitter unaviable</p>';
}
// If the API returns a server error in response, output
// an error message indicating the server response.
if ( '200' != $remote['response']['code'] ) {
return '<p>Twitter responded with an HTTP status code of '. esc_html( $remote['response']['code']) . '</p>';
}
// If the API returns a valid response, the data will be
// json-encoded; so decode it.
$data = json_decode( $remote['body'] );
$output = $data->followers_count;
$followers = number_format($output,2,'.',',');
set_transient( $transient_key, $output, 600 );
return $followers;
}
答案 0 :(得分:7)
我已经测试了以下代码并且它可以运行:
$output = 49995;
$followers = number_format( $output , 0 , '.' , ',' );
echo $followers;
不确定您的代码无效的原因。另外,请确保将第二个参数设置为0,除非您需要小数点。也许$ output的值最初是一个字符串,你需要在通过number_format()之前将其转换为整数?
答案 1 :(得分:1)
您的number_format似乎是正确的。试试
$output = intval($data->followers_count);
在调用它之前,可能在解码值后出现问题。