#6678 [Com]: Different behaviour of arithmetic operations on Linux PHP and Windows PHP
| From: | linux at hotmail dot com | Date: | Tue, 19 Oct 2004 15:07:32 +0000 |
| Subject: | #6678 [Com]: Different behaviour of arithmetic operations on Linux PHP and Windows PHP | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-67773@lists.php.net to get a copy of this message | ||
ID: 6678
Comment by: linux at hotmail dot com
Reported By: info at emre dot de
Status: Closed
Bug Type: Unknown/Other Function
Operating System: Windows 2000 & SuSE Linux
PHP Version: 4.0.2
New Comment:
http://www.cafepress.com/fearpenguin
http://www.cafepress.com/tux_vs_msn
http://www.cafepress.com/chixdiglinux
http://www.cafepress.com/design4living
Previous Comments:
------------------------------------------------------------------------
[2000-10-15 11:25:46] lyric@php.net
Your problem is probably due to the size of the numeric datatype (which
is system dependant). The number that you're passing is actually too big
(ie: over 2 billion).
See http://www.php.net/manual/language.types.php
------------------------------------------------------------------------
[2000-09-12 05:41:28] info at emre dot de
<html>
<body>
<?
/* Fuction to turn an integer into an ip address */
function int2ip($int)
{
// There are 4 bytes to handle, so let´s go for it ....
for ($i=0 ; $i < 4 ; $i++) {
// Let´s leave only the first 8 bits, kill the rest and assign the
value to an array element
$bytes[$i] = $int & 0xFF;
// Now move the remaining bits to the right and go on with the
next byte ...
$int = $int >> 8;
}
// The array containing the bits is joined to a string, the bytes
separated by a dot
$ip = "$bytes[3].$bytes[2].$bytes[1].$bytes[0]";
return ($ip);
}
print int2ip(3232235648);
/*
Result should be 192.168.0.128. On WAMP it works fine,
on LAMP it doesn´t.
Maybe this one´s not bug but I´m too dump - still this "wrong"
behaviour
has been verfied on several Linux systems running Apache and PHP.
The correct one has been verified on three Windows systems running
Apache and PHP (latest)
*/
?>
</body>
</html>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=6678&edit=1