Ilia Alshanetsky wrote:
> Greg Beaver wrote:
> 
>>amen, this behavior makes no sense even though sizeof() is an alias to
>>count().  sizeof('this') and sizeof('this long thing') are both 1, which
>>makes no sense.  I would go so far as to say a E_NOTICE is more
>>appropriate than E_STRICT - you should only be using count() for
>>arrays/objects.
> 
> 
> Actually this result makes perfect sense since type conversion changes
> string into array('your string') and does a count of that, which is 1.

Yes, it makes sense from this perspective, but from a real-life
programming perspective it is

1) useless - count() provides no useful information about strings
2) potentially buggy.

For instance, PEAR's XML_Unserializer (XML_Serializer package)
represents XML elements with simple text node children as a string, and
tags with anything else (attributes, child elements) as an array.
Improperly written code that uses count() without checking is_array()
would happily run with no warning whatsoever.  However, imho it would
make PHP more robust if the logical error condition were also a language
error, that's all.

Greg

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to