From: [EMAIL PROTECTED] Operating system: Windows 2000 SP 2 PHP version: 4.0.6 PHP Bug Type: Output Control Bug description: echo ip2long($ip) differs from printf ("%u\n", ip2long ($ip));
There are two examples in PHP MANUAL of ip2long() usage. The first one is based on echo output and the second - on printf() function. These are examples with output: <? $ip = gethostbyname("www.php.net"); $out = "The following URLs are equivalent:<br>\n"; $out .= "http://www.php.net/, http://".$ip."/, and http://".ip2long($ip)."/<br>\n"; echo $out; ?> The output of above is: //////////////////////////////////////////////////////// The following URLs are equivalent: http://www.php.net/, http://208.210.50.161/, and http://-791530847/ //////////////////////////////////////////////////////// I was confused on $ip output (i supposed ip-numbers are unsigned integers and cannot contain negative values like -791530847, echoed above). So, i've tryed to run the second example, wich uses printf() function: <?php $ip = gethostbyname("www.php.net"); printf ("%u\n", ip2long ($ip)); echo $out; ?> The output is: /////////// 3503436449 /////////// I've changed code different ways, 've restarted machine, Apache server, but the difference remains. So, i've decided it's a bug either of echo or of ip2long() functions. -- Edit bug report at: http://bugs.php.net/?id=13914&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]