php absで絶対値を求める

phpで、absを使用して、絶対値を求めるサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Stream release 8
- php 8.0.0
- nginx 1.14.1
abs使い方
absを使用すれば、絶対値を求めることが可能です。
abs(数値);
以下は、絶対値を求めるサンプルコードとなります。
<?php
echo abs(2) . PHP_EOL; // 2
echo abs(-2) . PHP_EOL; // 2
echo abs(1.1) . PHP_EOL; // 1.1
echo abs(-1.1) . PHP_EOL; // 1.1
echo abs(0) . PHP_EOL; // 0
echo abs("2") . PHP_EOL; // 2
echo abs("-2") . PHP_EOL; // 2
echo abs("1.1") . PHP_EOL; // 1.1
echo abs("-1.1") . PHP_EOL; // 1.1
gmpをインストールしていれば、gmp_absでも絶対値を求めることが可能ですが、整数部のみとなります。
<?php
echo gmp_abs(2) . PHP_EOL; // 2
echo gmp_abs(-2) . PHP_EOL; // 2
echo gmp_abs(1.1) . PHP_EOL; // 1
echo gmp_abs(-1.1) . PHP_EOL; // 1
echo gmp_abs(0) . PHP_EOL; // 0
echo gmp_abs("2") . PHP_EOL; // 2
echo gmp_abs("-2") . PHP_EOL; // 2
echo gmp_abs("1.1") . PHP_EOL;
// PHP Fatal error: Uncaught TypeError: gmp_abs(): Argument #1 ($num) is not an integer string
echo gmp_abs("-1.1") . PHP_EOL;
// PHP Fatal error: Uncaught TypeError: gmp_abs(): Argument #1 ($num) is not an integer string
パフォーマンスは、「abs」の方が良さそうです。
【参考】 それぞれ、同じ計算を1000万回行った結果
測定結果 : abs
process time: 2.44050 ミリ秒
測定結果 : gmp_abs
process time: 3.53268 ミリ秒
-
前の記事
C# 拡張メソッドを作成する 2021.09.10
-
次の記事
windows プロセスを一括で停止させる 2021.09.10
コメントを書く