2015-09-22 6 views
0

Итак, я создаю систему баллов для своего сайта, которую я хочу изменить на эхо вместо фактического целого числа, когда отображается в профиле пользователей. Например: Когда целое число меньше 1000, оно отображается как фактическое число (скажем: 645). Но когда он находится между 1000 и 1100, он будет отображаться как «1k» и так далее. То, что у меня до сих пор работает, но отображается неправильно и кажется немного пустым пространством. Есть ли способ сделать это намного проще; быстрее?Echo Out Interger по-разному, если больше, чем значение PHP

Спасибо!

код:

<?php 

    $points_disp = $user_data['points']; 

    if($points_disp < 1000){ 
     echo $points_disp; 
    } else if ($points_disp >= 1000){ 
     echo '1k'; 
    } else if ($points_disp >= 1200){ 
     echo '1.2k'; 
    } else if ($points_disp >= 1400){ 
     echo '1.4k'; 
    } else if ($points_disp >= 1600){ 
     echo '1.6k'; 
    } else if ($points_disp >= 1800){ 
     echo '1.8k'; 
    } else if ($points_disp >= 2000){ 
     echo '2k'; 
    } 

?> 
Edit: I figured out an easier way to do this; 

code (for anyone else who needs to do this): 

<?php 
$points_disp = $user_data['points']; 
$fdigit = substr($points_disp, 0, 1); 
$sdigit = substr($points_disp, 1, 1); 

if ($points_disp < 1000){ 
    echo $points_disp; 
} else if ($points_disp >= 1000){ 
    echo $fdigit . "." . $sdigit . "k"; 
} 

echo $num; 
?> 

ответ

0

Попробуйте это,

if($points_disp < 1000){ 
    echo $points_disp; 
} else if($points_disp >= 1000) { 
    echo round($points_disp/1000,1) . "K"; 
} 
+0

не совсем работа ... –

+0

за то, что вход ?? –

+0

Я округлил значение, проверьте это один раз. Это должно помочь вам. –

0

Вы можете использовать переключатель случай:

$points_disp = $user_data['points']; 

switch(true) 
{ 
    case ($points_disp < 1000): 
    $num = $points_disp; 
    break; 
    case ($points_disp > 1000 && $points_disp < 1100): 
     $num = '1.2k'; 
     break; 

    //...so on 
} 

echo $num; 
+0

Есть ли способ сократить этот код, так что мне не нужно так много печатать? –

+0

Просьба уточнить это подробнее .. –

+0

проверить новое редактирование :) –

Смежные вопросы