On Tue, Oct 07, 2003 at 03:18:59PM +0200, Derick Rethans wrote: > > What is the problem with array_* functions casting implicitely? The vast > > majority of php functions does implicit casting, array_splice does it, > > everyone is used to it, PHP is known for it... why go the other way now? > > Because it's plain wrong? Array functions should not cast any scalar to > an array, not even array_splace IMO because a scalar is NOT a non-scalar > as an array or object.
The same argument works for numbers and strings, imo. They aren't the same, but there are rules for converting them. Same with Arrays and non-arrays. http://de2.php.net/manual/en/language.types.array.php#language.types.array.casting What is a problem with being able to merge a single element into an array without having to create an array around it explicitely? What is wrong with versatility? > > Btw, this `very, VERY minor change' broke pear. > > That has nothing to do with this change, just by a bad design choice. If a change breaks something in the distribution, i wouldn't call it minor, no matter what circumstances... > Once more the description in the manual: > > array_merge() merges the elements of two or more arrays together > so that the values of one are appended to the end of the > previous one. It returns the resulting array. I know the description. What does it tell me? String functions tell that they work on strings, but they accept numbers nonetheless. This fix does nothing but make PHP more inconsistent. -- Regards, Stefan Walk <[EMAIL PROTECTED]> -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php