kondyj Skrevet 7. september 2006 Del Skrevet 7. september 2006 Hei, Jeg holder på å lage en liten IP calculator, og jeg har et lite spørsmål angående ip2long(). Jeg bruker ip2long både til å verifisere at $ip virkelig er en IP (dette er ikke den eneste valideringen) og for å spytte ut den decimale verdien av en IP. Det jeg lurer på er hvorfor ip2long gir "-1073732954", og hva sprintf("%u".... gjør siden den gir den riktige decimale verdien ? <?php $ip = "192.0.34.166" $en = ip2long($ip); // gir : -1073732954 $to = sprintf("%u", ip2long($ip)) // gir : 3221234342 ?> Takker for svar. Lenke til kommentar
kakkle Skrevet 7. september 2006 Del Skrevet 7. september 2006 (endret) Note: Because PHP's integer type is signed, and many IP addresses will result in negative integers, you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address. EDIT: Og u - the argument is treated as an integer, and presented as an unsigned decimal number. Endret 7. september 2006 av kakkle Lenke til kommentar
kondyj Skrevet 7. september 2006 Forfatter Del Skrevet 7. september 2006 Note: Because PHP's integer type is signed, and many IP addresses will result in negative integers, you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address. EDIT: Og u - the argument is treated as an integer, and presented as an unsigned decimal number. 6819080[/snapback] rtfm til meg, takker. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå