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:[EMAIL PROTECTED] 
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
}

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to