Re: Comparing Alphanumeric values in a range

From: Date: Mon, 23 Sep 2002 04:50:10 +0000
Subject: Re: Comparing Alphanumeric values in a range
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-117237@lists.php.net to get a copy of this message
Just quickly, forgot to mention: I've tested this on 2 platforms: Windows PHP 4.2.1 SCO Openserver 4.2.1 These two both don't work. I just tested on SCO OpenUnix 4.2.1 - this one works!! Problem is, I need this to work on SCO Openserver. Thanks, Sam "Samantha Savvakis" <samantha@cfs.net.au> wrote in message news:20020923044205.65193.qmail@pb1.pair.com... > Hi, > > I have a task to generate a new document number for a given range. This > document number is alphanumeric. > > Here is the problem: > > $lowrange1 = "900000"; > $highrange1 = "HZZZZZ"; > > $currentno = "90CZZZ"; > > I expect that the next number in the series is: $nextnum = "90D000"; > > Before using this next number in the series, I need to confirm that the > number falls within the given range. > > So I do something like this: > > if ((strval($nextnum) >= strval($lowrange1)) && (strval($nextnum) <= > strval($highrange1))) > { > // we have a valid number in the range > } > else > { > // not in the range > } > > Now.. the problem is - PHP thinks that 90D000 is less than $lowrange1. I > individually tested them and $lowrange1 was consistently greater than the > number. > > I put the strval function around each variable to ensure it was comparing > strings and not numbers for those variables that only contain numbers. This > seems to be a problem with the letter "D" and "E" for all positions within > the 6 character alphanumeric number, except for the last position. > > ie. 900000D works - $lowrange1 is less than this number and $highrange1 is > greater than this number. > > For all other positions where the letter "D" and "E" are generated: > > ie. 9000D0, 900D00, 90D000, 9D0000 and 9000E0, 900E00, 90E000, 9E0000 > > Is there a known problem with this? Why it is only happening with the > letters "D" and "E"? If I have 900F00 - this works, and so on for the rest > of the letters of the alphabet. > > Thanks, > Sam > > >

« previous php.general (#117237) next »