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