Re: Found a PHP bug!!!!!!!!!

From: Date: Mon, 27 Jan 2003 20:44:37 +0000
Subject: Re: Found a PHP bug!!!!!!!!!
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-133288@lists.php.net to get a copy of this message
I do know that integer, string, double, float, etc.... are different.. I have been using hte appropriate method like in javascript and c programming, like converting it to integer and so on.... But when I start using PHP, I find no such document of it and I have been using it for 3 years without a problem. I asked people is there such a thing as converting it by using the function and they told me there is no such a thing and that it is done automatically... Now my time is a little bit wasted. So, I will correct the problem with the php script... I recently looked up on the manual as Jason Wong instructed me to. I havne't found the answer since the document is a little bit mixed up. Okay, I'm going back to my old way as I did in javascript and c programming. So for php, it would be floatval() for float... strval() for string.... settype() for whatever...... intval() for integer.... Um, what about double??? Thanks, Scott F. "Chris Hayes" <chayes@antenna.nl> wrote in message news:5.1.1.6.0.20030127211703.014c47f8@pop4.antenna.nl... > > >Re: [PHP] Found a PHP bug!!!!!!!!! > uh oh... > > > >I don't see why a string wouldn't work when I use "08" (string) and > >match it > >against the integer 8, or 08. > > They're just different types. Normally PHP is veeery flexible with > types, like javascript, but it just can't be flexible for you here because > it needs to choose the most logic to the entire pool of programmers, and then > "08" = a string > 8 = a decimal integer > 08 = by definition an impossible octal integer, so 0. > > Since you cannot tell PHP that $var is of a certain type like in [other] > programming languages, for example you want it to be treated as an integer, > PHP will handle it as what seems to be the most logic. > > > You can try to use intval (does not alter a variable, only the value as it > is used in a calculation or an if() statement) or settype (alters the > variable). > > > > >"Kirk Johnson" <kjohnson@zootweb.com> wrote in message > >news:B11731D518B5D61183C700A0C98BE0D9FFBE5D@chef... > > > > > > > -----Original Message----- > > > > From: Scott Fletcher [mailto:scott@abcoa.com] > > > > > > > > Found a PHP bug, I'm using PHP version 4.2.3. I have been > > > > struggling with > > > > why PHP code failed to work with the month is August or > > > > September > > > > > > I stumbled into this one a short while ago myself. It is not a bug, but a > > > feature! ;) When passing values of 08 or 09 (Aug and Sep), PHP interprets > > > them as octal numbers (because of the leading 0). However, 08 and 09 are > > > invalid octal numbers, so PHP converts them to zero. > > > > > > The fixes are numerous: > > > - remove the leading zero; > > > - add zero to them before passing (addition forces a type conversion to > > > int); > > > - force a type conversion to integer using (int); > > > - quote them (when PHP converts a string to an integer, it removes the > > > leading zero); > > > > > > Kirk > > > > > > > >-- > >PHP General Mailing List (http://www.php.net/) > >To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.general (#133288) next »