php intvalでint型にキャストする
phpで、intvalを使用して、int型にキャストするサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
intval使い方
intvalを使用すれば、int型にキャストすることが可能です。
intval(変数);
以下は、int型にキャストしたサンプルコードとなります。
<?php
$str = "10.11";
$result = intval($str);
var_dump($result); // int(10)
後方に文字列が含まれていても結果は同じです。
<?php
$str = "10.11mebee";
$result = intval($str);
var_dump($result); // int(10)
文字列の「011」は、11に変換されますが、数値の「011」は8進数と認識されます。
<?php
$str = "011";
$result = intval($str);
var_dump($result); // int(11)
$str = 011;
$result = intval($str);
var_dump($result); // int(9)
$str = 020;
$result = intval($str);
var_dump($result); // int(16)
第二引数には、基数を指定すれば設定した基数に変換されます。
<?php
$result = intval("0A");
var_dump($result); // int(0)
$result = intval("0A",16);
var_dump($result); // int(10)
キャスト演算子(int)でも変換は可能です。
<?php
$str = "10.1";
$result = (int)$str;
var_dump($result); // int(10)
また、floorと同じで、小数点以下を切り捨てることが可能となります。
※パフォーマンスは(int)の方が遥かにいいです。
<?php
$num = 11.11;
echo (int)$num; // 11
echo floor($num); // 11
【参考】 同じコードを1000万回実行した結果
測定結果 : (int)
process time: 0.61790 ミリ秒
測定結果 : floor
process time: 2.40074 ミリ秒
-
前の記事
javascript lodashを使ってMapであるかを判定する 2021.11.01
-
次の記事
node.js 「通常の関数」と「アロー関数」のパフォーマンスを計測する 2021.11.01
コメントを書く