php absで絶対値を求める

  • 作成日 2021.09.10
  • php
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 ミリ秒