On 06/04/2012 11:33 AM, Matijn Woudt wrote:
On Mon, Jun 4, 2012 at 6:54 PM, jas<jason.gerfen@xxxxxxxxx> wrote:
Not sure if this is a bug or not...
I have run into an error when performing a conditional using iplong() and
the ~ bitwise operator
$ip = '0.0.0.0';
$mask = '24';
$end = (ip2long($ip) || (~ip2long($mask))) + 1;
PHP Fatal error: Unsupported operand types
I even tried to typecast the mask to (int)
The error is probably not where you suspect it to be. ip2long will
return false for ip2long($mask), because $mask is not a valid IP
address. The ~ operator is not supported for false.
- Matijn
Strange... this works
$ip = '10.0.2.0';
$mask = '24';
Anything using 0.0.0.0 fails using the bitmask to calculate valid CIDR
ranges.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php