私は1000を1kと言う小さな関数を持っています。PHPループはどれくらい悪いですか
<?php
/**
* /Converts a number into a short version, eg: 1000 -1k.
*
* @param int $number The number
* @param int $precision The precision
*
* @return string The formated number
*/
function short_number_format($number, $precision = 1)
{
$lookup = [
1 => '',
1000 => 'K',
1000000 => 'M',
1000000000 => 'B',
1000000000000 => 'T',
];
$result = '';
foreach ($lookup as $boundary => $postfix) {
if ($number < 900 * $boundary) {
$result = number_format($number/$boundary, $precision).$postfix;
break;
}
}
//if we didnt get the result which is most likely to happen
// for larger numbers (rarely) , return the plain number
return $result ?: number_format($number, $precision);
}
シニアの開発者の中には、ループのためにコードがひどく遅くなってしまったと言われました。 それは本当ですか?
これは5つの要素の単なる配列です –
コードに問題があったとしても、アルゴリズムの複雑さに起因する可能性があります。ループ自体のためではありません。 – Carcigenicate
コードは非常にうまく動作します。ただ、ループが遅くなるというデベロッパーの主張 –