no, intval will not abort the script execution
Code: Select all
<html><body>
<table border="1">
<?php
$a = "123abc";
$b = "123";
$c = 123;
echo '<tr><th>&nbsp;</th><th>$a=', $a, '</th><th>$b=', $b, '</th><th>$c=', $c,'</th></tr>';
echo '<tr><td>is_numeric()</td><td>',
is_numeric($a) ? 'true':'false', '</td><td>',
is_numeric($b) ? 'true':'false', '</td><td>',
is_numeric($c) ? 'true':'false', '</td></tr>';
echo '<tr><td>is_float()</td><td>',
is_float($a) ? 'true':'false', '</td><td>',
is_float($b) ? 'true':'false', '</td><td>',
is_float($c) ? 'true':'false', '</td></tr>';
echo '<tr><td>is_int()</td><td>',
is_int($a) ? 'true':'false', '</td><td>',
is_int($b) ? 'true':'false', '</td><td>',
is_int($c) ? 'true':'false', '</td></tr>';
echo '<tr><td>is_integer()</td><td>',
is_integer($a) ? 'true':'false', '</td><td>',
is_integer($b) ? 'true':'false', '</td><td>',
is_integer($c) ? 'true':'false', '</td></tr>';
echo '<tr><td>is_string()</td><td>',
is_string($a) ? 'true':'false', '</td><td>',
is_string($b) ? 'true':'false', '</td><td>',
is_string($c) ? 'true':'false', '</td></tr>';
echo '<tr><td>intval()==value</td><td>',
(intval($a)==$a) ? 'true':'false', '</td><td>',
(intval($b)==$b) ? 'true':'false', '</td><td>',
(intval($c)==$c) ? 'true':'false', '</td></tr>';
echo '<tr><td>value==intval()</td><td>',
($a==intval($a)) ? 'true':'false', '</td><td>',
($b==intval($b)) ? 'true':'false', '</td><td>',
($c==intval($c)) ? 'true':'false', '</td></tr>';
echo '<tr><td>value==(string)intval()</td><td>',
($a==(string)intval($a)) ? 'true':'false', '</td><td>',
($b==(string)intval($b)) ? 'true':'false', '</td><td>',
($c==(string)intval($c)) ? 'true':'false', '</td></tr>';
?></table></body></html>
most astonishing I found the results for
intval($a)==$a and
$a==intval($a).
afaik there is assertion-support in php 4.3