Skip to content

Instantly share code, notes, and snippets.

@xthiago
Last active August 29, 2015 14:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xthiago/4d5bd9e0f4b175d5f36d to your computer and use it in GitHub Desktop.
Save xthiago/4d5bd9e0f4b175d5f36d to your computer and use it in GitHub Desktop.
Como formatar um número de modo que 1.000 = 1k e 1kk = 1.000.000
<?php
/*
* Esse snippet é uma resposta para dúvida a seguir. Pode ser melhorado
* de diversas formas (fazendo uso de recursão, por exemplo), mas o intuito é ser simples.
*
* Alguém ai on pra me da uma ajudinha com PHP?
* Tipo, em vários lugar da internet é possível visualizar formatações de números
* como "150k", "1kk", alguns devem saber que 150k corresponde a 150.000 e 1kk
* corresponder a 1.000.000... Gostaria então de saber como se faz isso na hora
* do "echo"!
*
* https://www.facebook.com/groups/grupo.campinas/permalink/716193141813097/
*/
function views($qtd)
{
if ($qtd < 1000) {
return (string) $qtd;
} else if ($qtd < 1000000) {
return (string) intval($qtd / 1000) . 'k';
} else {
return (string) intval($qtd / 1000000) . 'kk';
}
}
echo views(467) . " views <br>"; // imprime '467 views'
echo views(1975) . " views <br>"; // imprime '1k views'
echo views(96710) . " views <br>"; // imprime '96k views'
echo views(196710) . " views <br>"; // imprime '196k views'
echo views(9196710) . " views <br>"; // imprime '9kk views'
@danizord
Copy link

Se tirar os else fica mais bonito :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment