Jump to content

Archived

This topic is now archived and is closed to further replies.

thedust2010

is_numeric() does not work properly

Recommended Posts

Can anyone explain the following output to me?

[code]
if ($value1 == "0") {
    echo "AAA<br>";
}
if (is_numeric("0")) {
    echo "BBB<br>";
}
if (is_numeric(0)) {
    echo "CCC<br>";
}
if (is_numeric(trim($value1))) {
    echo "DDD<br>";
}
[/code]

Output is:

[code]
AAA
BBB
CCC
[/code]

Why on earth do I not see "DDD"?  I've tried with and without trim().  Doesn't make a difference.  This has got to be a bug of some sort.

Share this post


Link to post
Share on other sites
works ok for me. i'm on PHP 4.3.10 here

[b]edit[/b]: gave it a blast on 5.0.5 too, works fine there too.

Share this post


Link to post
Share on other sites
I'm starting off with

$value1 = "0";

followed by your code and I get AAA,BBB,CCC and DDD.

What value are you starting with?

Share this post


Link to post
Share on other sites
ran the same results without defining $value1, on both 4.3.10 and 5.0.5.
got BBB and CCC, as you wanted.

Share this post


Link to post
Share on other sites
Arrrgh... OK I got it.  I am cycling through an array and was checking the value instead of the key.  I am very sorry.  Thanks for all the quick responses but I just totally missed this.  I think I will try to get more sleep tonight.  :)

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.