Ne '6 k bakıldı 'demek ve nasıl PHP numarasını biçimlendirmek için

6 Cevap

"6k views" ne demektir ve nasıl PHP bu numarayı biçimlendirebilirsiniz?

6 Cevap

k Kilo prefix için kısaltması olan ve bin anlamına gelir. Yani 6k altı bin demektir.

Sen bölümü kullanarak aşağıdaki fonksiyon ile böyle bir şekilde bir dizi biçimlendirebilirsiniz:

function format($number) {
    $prefixes = 'kMGTPEZY';
    if ($number >= 1000) {
        for ($i=-1; $number>=1000; ++$i) {
            $number /= 1000;
        }
        return floor($number).$prefixes[$i];
    }
    return $number;
}

Ya logaritma tabanı 10 ve üs kullanma:

function format($number) {
    $prefixes = 'kMGTPEZY';
    if ($number >= 1000) {
        $log1000 = floor(log10($number)/3);
        return floor($number/pow(1000, $log1000)).$prefixes[$log1000-1];
    }
    return $number;
}

StackOverflow '6 k views 'bir soru aldı görüşlerin sayısını ifade eder. 6000 incelemeler anlamına gelir.

Eğer php benzer bir stil numarasını biçimlendirmek için arıyorsanız, o zaman böyle bir şey deneyin

$number = "";
if( $value > 1000 )
{
    $number .= floor($value / 1000) . "k";
} else {
    $number .= $value;
}
echo $number . " views".

Istenirse Açıkçası m, g ve t görünümleri için durumlarda ekleyebilirsiniz.

http://tamlyn.org/2008/12/formatting-bytes-with-significant-figures-in-php/ ikinci kısaltılmış

/** Calculate $value to $sigFigs significant figures */
function sigFig($value, $sigFigs = 3) {
    //convert to scientific notation e.g. 12345 -> 1.2345x10^4
    //where $significand is 1.2345 and $exponent is 4
    $exponent = floor(log10(abs($value))+1);
    $significand = round(($value
        / pow(10, $exponent))
        * pow(10, $sigFigs))
        / pow(10, $sigFigs);
    return $significand * pow(10, $exponent);
}

/** Format $value with the appropriate SI prefix symbol */
function format($value, $sigFigs = 3)
{
    //SI prefix symbols
    $units = array('', 'k', 'M', 'G', 'T', 'P', 'E');
    //how many powers of 1000 in the value?
    $index = floor(log10($value)/3);
    $value = $index ? $value/pow(1000, $index) : $value;
    return sigFig($value, $sigFigs) . $units[$index];
}

Doing *11 *10 çok açıktır, çünkü

for($number = 100; $number < 100000000000000000000; $number*=11) {
   echo format($number), PHP_EOL;
}

verir

100 1.1k 12.1k 133k 1.46M 16.1M 177M 1.95G 21.4G 236G 2.59T 28.5T 314T 3.45P 38P 418P 4.59E 50.5E 

Eğer ondalık gerekiyorsa, yukarıdaki kullanın, başka Gumbo çözümü daha kompakt. Verir:

100 1k 12k 133k 1M 16M 177M 1G 21G 235G 2T 28T 313T 3P 37P 417P 4E 50E

$ Sayı = "6000";

. $ Val = ($ number/1000) "k";

/ / = 6k

ya $ sayı = "6k" eğer;

echo str_replace ("k", "000", $ number);

6k olarak, k araçları kilo (umarım biliyorsun) 6000 eşittir hangi. Sen k, işte bu ile bin rakamı değiştirin. Umarım ki olur :)