我正在计算数据库表中值的百分比,但是,当没有值时,该函数返回NAN,而我希望该函数返回0,那么该函数正在使用的是:
function calculate_percentages($atts){
global $wpdb;
$postid = get_the_ID();
$myrate_name = "sql_table_name";
$total_count = $wpdb->get_var( "SELECT SUM(rates) FROM $myrate_name WHERE post_id=$postid");
$top = $wpdb->get_var( "SELECT SUM(rates) FROM $myrate_name WHERE rating = 5 AND post_id=$postid");
$top_avarage = round($top/$total_count*100);
return $top_avarage;
答案 0 :(得分:4)
您之所以得到NAN
,是因为$total_count
是0
或等于0
的值,并且您不能除以0
:
$top_average = $total_count != 0 ? round($top/$total_count*100) : 0;
答案 1 :(得分:1)
您有一个可以使用is_nan
的php函数$top_average = !is_nan($top/$total_count*100) ? round($top/$total_count*100) : 0;