[PHP] Why count() returns no error when string is given ?

2011-08-16 Thread rsk82
For example when I do:

  strlen(array(1,2,3));

php shows: Warning: strlen() expects parameter 1 to be string, array
given in...

but when I do:

  count('string');

It simply returns 1 like nothing happened. I would expect such
behavior if I write:

  count((array)'string')

but otherwise such behavior is very misleading and inconsistent.


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Why count() returns no error when string is given ?

2011-08-16 Thread rsk82
Hello Florian,

Tuesday, August 16, 2011, 4:32:39 PM, you wrote:

 manual : function.count.php

 Returns the number of elements in/var/. If/var/is not an array or an 
 object with implementedCountable 
 http://www.php.net/manual/en/class.countable.phpinterface,/1/will be
 returned. There is one exception, if/var/is*NULL*,/0/will be returned.

Yes I know, but I wonder what is the master reason behind this line of
doing things ?

The fact that something is documented shoudn't make it automatically
right. Are there scripts where people are putting strings into count
by purpose, not by an accident ? Is this behavior having some grand
purpose behind id, or is it just a historical accident for early days
of php ?


-- 
Best regards,
 rsk82mailto:rs...@live.com


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php