<slide>
<title>Implicit Non-Integer-Compatible Float to Int Conversion</title>

<blurb>Integer Compatible Floats</blurb>

<list>
    <bullet>It is a number (---NaN--- or ---INF---)</bullet>
    <bullet>It is in range of a PHP integer:<br/>%(PHP_INT_MIN >= $float >= PHP_INT_MAX)%</bullet>
    <bullet>Has no fractional part (42---.76---)</bullet>
</list>

<break lines="2"/>

<div effect="fade-out">
<blurb>In PHP 8.0:</blurb>
<example><![CDATA[<?php
function doTheNumber(int $number)
{
	var_dump( $number );
}

doTheNumber( 42.76 );]]></example>
<example class="result">int(42)</example>
</div>

<div effect="fade-in">
<blurb>In PHP 8.1:</blurb>
<example><![CDATA[<?php
function doTheNumber(int $number)
{
	var_dump( $number );
}

doTheNumber( 42.76 );]]></example>
<example class="result">
Deprecated: Implicit conversion from non-compatible float-string "42.76" to int
int(42)</example>
</div>

</slide>
