On 06/12/06, Ray Hauge <[EMAIL PROTECTED]> 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:[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
}
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/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php