Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PHP 5.6.13-1~dotdeb+7.1 Linux/fpm-fcgi - Mon, 28 Sep 2015 08:03:16 UTC
- * TEST #1: Comparison of results intval() and casting to integer:
- # INPUT EXPECTED INTVAL() CAST RESULT
- ----------------------------------------------------------------------------
- #0 42 : 42 / 42 / 42 pass.
- #1 -42 : -42 / -42 / -42 pass.
- #2 4.2000000000000002 : 4 / 4 / 4 pass.
- #3 '42' : 42 / 42 / 42 pass.
- #4 '+42' : 42 / 42 / 42 pass.
- #5 '-42' : -42 / -42 / -42 pass.
- #6 042 : 34 / 34 / 34 pass.
- #7 '042' : 42 / 42 / 42 pass.
- #8 1e10 : 1410065408 / 10000000000 / 10000000000 failed.
- #9 '1e10' : 1 / 1 / 1 pass.
- #10 0x1A : 26 / 26 / 26 pass.
- #11 42000000 : 42000000 / 42000000 / 42000000 pass.
- #12 2147483647 : 2147483647 / 2147483647 / 2147483647 pass.
- #13 2147483648 : -2147483648 / 2147483648 / 2147483648 failed.
- #14 420000000000000000000 : 0 / -4275113695319687168 / -4275113695319687168 failed.
- #15 '420000000000000000000' : 2147483647 / 9223372036854775807 / 9223372036854775807 failed.
- #16 array() : 0 / 0 / 0 pass.
- #17 array('foo', 'bar') : 1 / 1 / 1 pass.
- * TEST #2: Comparison of results intval() and 0 + $var:
- # INPUT EXPECTED INTVAL() 0+$VAR RESULT
- ----------------------------------------------------------------------------
- #0 42 : 42 / 42 / 42 pass.
- #1 -42 : -42 / -42 / -42 pass.
- #2 4.2000000000000002 : 4 / 4 / 4.2 different.
- #3 '42' : 42 / 42 / 42 pass.
- #4 '+42' : 42 / 42 / 42 pass.
- #5 '-42' : -42 / -42 / -42 pass.
- #6 042 : 34 / 34 / 34 pass.
- #7 '042' : 42 / 42 / 42 pass.
- #8 1e10 : 1410065408 / 10000000000 / 10000000000 different.
- #9 '1e10' : 1 / 1 / 10000000000 different.
- #10 0x1A : 26 / 26 / 26 pass.
- #11 42000000 : 42000000 / 42000000 / 42000000 pass.
- #12 2147483647 : 2147483647 / 2147483647 / 2147483647 pass.
- #13 2147483648 : -2147483648 / 2147483648 / 2147483648 different.
- #14 420000000000000000000 : 0 / -4275113695319687168 / 4.2E+20 different.
- #15 '420000000000000000000' : 2147483647 / 9223372036854775807 / 4.2E+20 different.
- #16 array() : 0 / 0 / error. skipped.
- #17 array('foo', 'bar') : 1 / 1 / error. skipped.
- * TEST #3: abs((int)$val) vs. (int) abs($val)
- # INPUT ABS((INT)$val) (INT)ABS($val) RESULT
- ----------------------------------------------------------------------------
- #0 42 : 42 / 42 pass.
- #1 -42 : 42 / 42 pass.
- #2 4.2000000000000002 : 4 / 4 pass.
- #3 '42' : 42 / 42 pass.
- #4 '+42' : 42 / 42 pass.
- #5 '-42' : 42 / 42 pass.
- #6 042 : 34 / 34 pass.
- #7 '042' : 42 / 42 pass.
- #8 1e10 : 10000000000 / 10000000000 pass.
- #9 '1e10' : 1 / 10000000000 different.
- #10 0x1A : 26 / 26 pass.
- #11 42000000 : 42000000 / 42000000 pass.
- #12 2147483647 : 2147483647 / 2147483647 pass.
- #13 2147483648 : 2147483648 / 2147483648 pass.
- #14 420000000000000000000 : 4275113695319687168 / -4275113695319687168 different.
- #15 '420000000000000000000' : 9223372036854775807 / -4275113695319687168 different.
- #16 array() : 0 / 0 pass.
- #17 array('foo', 'bar') : 1 / 0 different.
- * TEST #4: abs((int)$val) vs. absint($val)
- # INPUT ABS((INT)$val) ABSINT($val) RESULT
- ----------------------------------------------------------------------------
- #0 42 : 42 / 42 pass.
- #1 -42 : 42 / 42 pass.
- #2 4.2000000000000002 : 4 / 4 pass.
- #3 '42' : 42 / 42 pass.
- #4 '+42' : 42 / 42 pass.
- #5 '-42' : 42 / 42 pass.
- #6 042 : 34 / 34 pass.
- #7 '042' : 42 / 42 pass.
- #8 1e10 : 10000000000 / 10000000000 pass.
- #9 '1e10' : 1 / 1 pass.
- #10 0x1A : 26 / 26 pass.
- #11 42000000 : 42000000 / 42000000 pass.
- #12 2147483647 : 2147483647 / 2147483647 pass.
- #13 2147483648 : 2147483648 / 2147483648 pass.
- #14 420000000000000000000 : 4275113695319687168 / 4275113695319687168 pass.
- #15 '420000000000000000000' : 9223372036854775807 / 9223372036854775807 pass.
- #16 array() : 0 / 0 pass.
- #17 array('foo', 'bar') : 1 / 1 pass.
- * TEST #5: Speed comparison (int)$val vs. intval($val)
- # INPUT (INT)$val INTVAL($val) RATIO
- ----------------------------------------------------------------------------
- #0 42 : 0.019649 / 0.059026 300%
- #1 -42 : 0.019575 / 0.058570 299%
- #2 4.2000000000000002 : 0.023672 / 0.061527 259%
- #3 '42' : 0.038063 / 0.078756 206%
- #4 '+42' : 0.042797 / 0.099648 232%
- #5 '-42' : 0.037901 / 0.081272 214%
- #6 042 : 0.019567 / 0.058593 299%
- #7 '042' : 0.040407 / 0.081511 201%
- #8 1e10 : 0.023506 / 0.060819 258%
- #9 '1e10' : 0.037048 / 0.081524 220%
- #10 0x1A : 0.019569 / 0.058692 299%
- #11 42000000 : 0.019557 / 0.058904 301%
- #12 2147483647 : 0.019562 / 0.059947 306%
- #13 2147483648 : 0.019565 / 0.058593 299%
- #14 420000000000000000000 : 0.027979 / 0.066534 237%
- #15 '420000000000000000000' : 0.067321 / 0.112629 167%
- #16 array() : 0.037010 / 0.079433 214%
- #17 array('foo', 'bar') : 0.084682 / 0.128211 151%
- (100,000 iterations each)
- * TEST #6: Speed comparison settype() vs. intval()
- # INPUT SETTYPE() INTVAL($val) RATIO
- ----------------------------------------------------------------------------
- #0 42 : 0.113645 / 0.062956 55%
- #1 -42 : 0.114424 / 0.062663 54%
- #2 4.2000000000000002 : 0.120346 / 0.067399 56%
- #3 '42' : 0.139429 / 0.085149 61%
- #4 '+42' : 0.141750 / 0.083533 58%
- #5 '-42' : 0.142304 / 0.087167 61%
- #6 042 : 0.116758 / 0.062508 53%
- #7 '042' : 0.139781 / 0.084500 60%
- #8 1e10 : 0.120739 / 0.067286 55%
- #9 '1e10' : 0.138382 / 0.092748 67%
- #10 0x1A : 0.117223 / 0.062275 53%
- #11 42000000 : 0.117057 / 0.063798 54%
- #12 2147483647 : 0.116104 / 0.062882 54%
- #13 2147483648 : 0.117497 / 0.062950 53%
- #14 420000000000000000000 : 0.127691 / 0.070131 54%
- #15 '420000000000000000000' : 0.169796 / 0.112777 66%
- #16 array() : 0.139835 / 0.084739 60%
- #17 array('foo', 'bar') : 0.202484 / 0.136293 67%
- (100,000 iterations each)
- * TEST #7: Speed comparison abs((int)$val) vs. absint($val)
- # INPUT ABS((INT)$val) ABSINT($val) RATIO
- ----------------------------------------------------------------------------
- #0 42 : 0.066307 / 0.150921 227%
- #1 -42 : 0.065941 / 0.151420 229%
- #2 4.2000000000000002 : 0.074758 / 0.158738 212%
- #3 '42' : 0.090069 / 0.170474 189%
- #4 '+42' : 0.090440 / 0.174109 192%
- #5 '-42' : 0.091308 / 0.177312 194%
- #6 042 : 0.067929 / 0.156206 229%
- #7 '042' : 0.091375 / 0.172765 189%
- #8 1e10 : 0.073454 / 0.160775 218%
- #9 '1e10' : 0.089249 / 0.172793 193%
- #10 0x1A : 0.067119 / 0.151738 226%
- #11 42000000 : 0.068211 / 0.154813 226%
- #12 2147483647 : 0.067085 / 0.154339 230%
- #13 2147483648 : 0.066594 / 0.151623 227%
- #14 420000000000000000000 : 0.077881 / 0.160110 205%
- #15 '420000000000000000000' : 0.118928 / 0.201531 169%
- #16 array() : 0.088283 / 0.179643 203%
- #17 array('foo', 'bar') : 0.137562 / 0.236615 172%
- (100,000 iterations each)
- * TEST #8: Speed comparison (int)$val vs. 0 + $val
- # INPUT (INT)$val 0+$val RATIO
- ----------------------------------------------------------------------------
- #0 42 : 0.019557 / 0.018661 95%
- #1 -42 : 0.019557 / 0.018655 95%
- #2 4.2000000000000002 : 0.023710 / 0.023309 98%
- #3 '42' : 0.045843 / 0.040522 88%
- #4 '+42' : 0.038204 / 0.041213 107%
- #5 '-42' : 0.038062 / 0.041229 108%
- #6 042 : 0.019555 / 0.018667 95%
- #7 '042' : 0.039899 / 0.044523 111%
- #8 1e10 : 0.023840 / 0.019164 80%
- #9 '1e10' : 0.038167 / 0.039795 104%
- #10 0x1A : 0.019552 / 0.018659 95%
- #11 42000000 : 0.019559 / 0.018670 95%
- #12 2147483647 : 0.019544 / 0.018674 95%
- #13 2147483648 : 0.019572 / 0.018669 95%
- #14 420000000000000000000 : 0.027924 / 0.019164 68%
- #15 '420000000000000000000' : 0.066800 / 0.153175 229%
- #16 array() : skipped.
- #17 array('foo', 'bar') : skipped.
- (100,000 iterations each)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement