Edit report at http://bugs.php.net/bug.php?id=52919&edit=1
ID: 52919
User updated by: ghazanfar dot ahmed at magsnet dot net
Reported by: ghazanfar dot ahmed at magsnet dot net
Summary: if does not work properly of strlen even if
typecasted
Status: Open
Type: Bug
Package: Scripting Engine problem
Operating System: Centos 5.5
PHP Version: Irrelevant
Block user comment: N
New Comment:
Sorry, it prints "CHECK IF" where it should print "CHECK ELSE"
Previous Comments:
------------------------------------------------------------------------
[2010-09-23 22:46:23] ghazanfar dot ahmed at magsnet dot net
Description:
------------
IF does not produce correct result when strlen is used to calculate
length of a
string which is an integer
Test script:
---------------
//IF does not seem to evaluate properly
$row['number'] = 700; //in my case if was value retrieved from mysql
// force typecasting
$number = (string)$row['number'];
if(strlen(trim($number)) > 7) {
print "CHECK IF"; }
else {
print "CHECK ELSE";
}
//It will always print "CHECK ELSE" where strlen($number)=3 (computes
correctly)
// where 3 > 7 is false
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52919&edit=1