The problem is what you feed strlen, not what it returns. strlen is supposed to take a string as function argument, and it will return its length. And the first half of my response was a response to your initial post where you had screwed what you passed as function argument. The second half was in response to the post where you no longer did that.
But for clarification, here's what you did wrong, explained in detail
# this is a string - would work fine with strlen
$s = "I'm a string";
# The less than comparison operator will return a boolean value, even though the expression as
# such makes little sense. I do not know if the string is converted to 0 so that it's true or the 5 to '5' in conjunction with string comparison where 5 < I (the letter I) off the top of my head.
# of my head.
# Will work with strlen, but is rather pointless. Just like asking strlen(true) or
# strlen(false)
$bool = "I'm a string" < 5;
# Either way, this is what you where feeding strlen, that is
strlen("I'm a string" < 5);
# is the same as
strlen($bool);
# which is either this (returns 1)
strlen(true);
#or this (returns 0)
strlen(false);
# However
strlen("I'm a string" < 5);
# is NOT AT ALL the same thing as
strlen("I'm a string") < 5;