Re: Re: Fwd: Re: #25494 [Com]: array_merge allowing "false" as argument (silent when non-array is passed)

From: Date: Wed, 08 Oct 2003 13:10:08 +0000
Subject: Re: Re: Fwd: Re: #25494 [Com]: array_merge allowing "false" as argument (silent when non-array is passed)
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-4760@lists.php.net to get a copy of this message
At 15:07 08/10/2003, Ilia Alshanetsky wrote:
On October 8, 2003 08:53 am, Zeev Suraski wrote:
However, please note the following: 1) Functionality was NOT changed in 4.3.4 a mere advisory was added indicated a behavior change in PHP5.
What do you mean by a mere advisory? In 4.3.X the patch only added E_NOTICE that majority of users block anyway and it was added to indicate a behavior change in 5.0. I felt that was a good idea since it is unlikely we'd have an in between 4.3.X - 5.0 release. This way people are made aware of the pending change. My main reason for wanting an E_NOTICE in 4.3.X was to warn people of the change (since we have an opportunity to do so) rather then have their code suddenly break when upgrading to 5.0.
Well, E_NOTICE is a bit more aggressive than a mere advisory, since it plugs into your application and may effect the way it behaves...
Quite possible, but it's still debatable whether it should be that way or not. Speaking of consistency, the class type hints in ZE2 don't prevent you (at least by default) the ability to pass in NULL values. Extending this to the way arrays are handled in builtin functions makes sense to me. Good point. What about other values such as bool, int, etc... We could convert them to array(bool|int|etc...) and thus allow complete non-array argument support for array functions.
I don't think it extends there very naturally, or at all for that matter. NULL is special because it's what empty variables evaluate to, and makes for a very typical initial value of an array. Zeev

« previous php.internals (#4760) next »