Как конвертировать NAN в 0 в php - PullRequest
0 голосов
/ 10 октября 2019

Я рассчитываю проценты значений в таблице базы данных, однако, когда значений нет, функция возвращает 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;

Ответы [ 2 ]

3 голосов
/ 10 октября 2019

Вы получаете NAN, потому что $total_count равно 0 или что-то, что оценивается как 0, и вы не можете разделить на 0:

$top_average = $total_count != 0 ? round($top/$total_count*100) : 0;
0 голосов
/ 10 октября 2019

У вас есть функция php, которую вы можете использовать is_nan

$top_average = !is_nan($top/$total_count*100) ? round($top/$total_count*100) : 0;
...