preg replaceを使用して、3桁の各グループの間にスペースを挿入して数値を区切ります。
$alexa_rank_raw = 8389876;
$alexa_rank = preg_replace("/(\d{3})/", '$1.', $alexa_rank_raw);
// alexa rank becomes: 838.987.6
最終的な番号が次のようになるように、どのように置換を行うことができますか?
8.389.876
何か案は?
preg replaceを使用して、3桁の各グループの間にスペースを挿入して数値を区切ります。
$alexa_rank_raw = 8389876;
$alexa_rank = preg_replace("/(\d{3})/", '$1.', $alexa_rank_raw);
// alexa rank becomes: 838.987.6
最終的な番号が次のようになるように、どのように置換を行うことができますか?
8.389.876
何か案は?
あなたが探しているnumber_format
。
$rank = number_format($alexa_rank_raw, 0, ",", ".");
しかし、ここに正規表現バージョンもあります。なぜですか?
$rank = preg_replace('/(\d{1,3})(?=(\d{3})+$)/', '$1.', $alexa_rank_raw);
仕組み:最大3桁のグループに貪欲に(可能な限り最大3桁)一致しますが、正の先読みを使用して、一致したグループが最後まで終了する位置から3桁の正確な倍数があることを表明します入力の最後まで。