<?php
function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$foo = "1';Select * ...";
/**
* php强制转换为数字测试
*/
// (int)
$fStart = microtime_float();
for ($i = 0; $i < 1000000; $i++) {
$bar = (int)$foo;
}
$fEnd = microtime_float();
print "(int):" . ($fEnd - $fStart) . "s\n";
// intval()
$fStart = microtime_float();
for ($i = 0; $i < 1000000; $i++) {
$bar = intval($foo);
}
$fEnd = microtime_float();
print "intval():" . ($fEnd - $fStart) . "s\n";
// sprintf()
$fStart = microtime_float();
for ($i = 0; $i < 1000000; $i++) {
$bar = sprintf("%d", $foo);
}
$fEnd = microtime_float();
print "sprintf():" . ($fEnd - $fStart) . "s\n";
/**
* php强制转换为字符串测试
*/
// (string)
$fStart = microtime_float();
for ($i = 0; $i < 1000000; $i++) {
$bar = (string)$foo;
}
$fEnd = microtime_float();
print "(string):" . ($fEnd - $fStart) . "s\n";
// strval()
$fStart = microtime_float();
for ($i = 0; $i < 1000000; $i++) {
$bar = strval($foo);
}
$fEnd = microtime_float();
print "strval():" . ($fEnd - $fStart) . "s\n";