|
Posted by Colin Fine on 10/01/06 17:49
Mairhtin O'Feannag wrote:
> "Janwillem Borleffs" <jw@jwscripts.com> wrote in news:451ad4ab$0$20623
> $dbd4d001@news.euronet.nl:
>
>> http://www.php.net/manual/en/function.is-numeric.php
>
> Okay, that's a good resource, and a good start. But when testing
> various values, I get the output :
>
> value of x is:1
> value of id is:222
> value of id is:
>
>
> where I would expect x and the second id to be 0, not blank. The test,
> when it succeeds, displays 1, but when it fails, it displays nothing.
> Test :
>
> $testamt = $_POST["amount"];
> $x = is_numeric($testamt);
> echo "</br>";
> echo "value of x is:";
> echo $x;
>
> $id = (int) $_POST["amount"];
> echo "</br>";
> echo "value of id is:";
> echo $id;
>
> $id = is_numeric($_POST["date"]);
> echo "</br>";
> echo "value of id is:";
> echo $id;
>
> Date is obviously not numeric, in that it contains the "/" character.
>
> Any thoughts?
>
> Mairhtin
>
> P.S. if you see something OBVIOUS, please be gentle, I'm a newbie!!!
PHP has a distinct type 'boolean'. 1, like all non-zero values, is
converted to TRUE in boolean context, but it is not the same as TRUE. 0
is converted to FALSE in boolean context, but it is not the same as FALSE.
It would appear from your test that 'echo' reports True as '1' and False
as blank. I cannot find anything in the on-line manual that says how it
should behave.
So - don't be worried that it is not reporting what you expect:
if (is_numeric($_id)) {
...
} else {
...
}
will work fine.
Colin
Colin
Navigation:
[Reply to this message]
|