Re: Ensuring that variable contains a number

From: Date: Wed, 06 Dec 2006 21:51:45 +0000
Subject: Re: Ensuring that variable contains a number
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-245587@lists.php.net to get a copy of this message
On 06/12/06, Ray Hauge <ray.hauge@americanstudentloan.com> wrote:
I think that will only check for a digit value of some kind. It's not going to check that $input is positive or if it is an integer. For instance, it could be a negative float value as long as $input is interpreted as a float and not a string. The period would throw it off it it's a string. I'd have to test, but anyway you could do something like this: <?php function isPositiveInteger($input) { $integer = floor($input); $decimal = $input - $integer; $returnVal = true; if ($input < 0) {
        $returnVal = false;
} if ($decimal != 0) {
        $returnVal = false;
} return $returnVal; } ?> That should work. There might be a bug in there, but I'll leave that up to people to test it ;) -- Ray Hauge Application Development Lead American Student Loan Services www.americanstudentloan.com -----Original Message----- From: Brad Fuller [mailto:bfuller@cpacampaigns.com] Sent: Wednesday, December 06, 2006 2:20 PM To: 'php php' Subject: RE: [PHP] Ensuring that variable contains a number How can I ensure that a variable contains a postive integer number? I'm currently using this code: $number=(10000-$number); $number=(10000-$number); if ( $number<1 ) { $number=1; } But I'm sure that there is a better way. What would that be? this will check that $input is a positive integer. if(preg_match("/^\d+$/", $input)) {
        // OK
} else {
        // NOT OK
}
Thanks. As the 'number' is used in a for loop, it actually is alright if it is a float. I just added a check that the number is indeed >=1, otherwise I set it to 1. Good enough for this project, anyway... :) Dotan Cohen http://what-is-what.com/what_is/ajax.html http://english-lyrics.com/

« previous php.general (#245587) next »