On 19/09/15 13:15, Rowan Collins wrote:
>> I don't
>> >see any 'completely new type of code' ... only a different frame in
>> >which the variables are held.
> It's "completely new" because you can't do it right now, that's all.
> 
> I'm just trying to separate two different justifications for requesting this 
> feature: some people are saying their current code is buggy because of some 
> lack in the language, and that "thousands and millions of devs" encounter 
> this; others, such as yourself, are saying that they would like to write code 
> in a certain style, which the language doesn't currently allow. I have still 
> seen absolutely no evidence of the former, most bugs apparently being due to 
> poor adoption of array_key_exists; I am reasonably convinced by your use case 
> being valid, even if it's not a style I'd choose.
> 
> Every time you start talking about avoiding notices, and existing code, I 
> therefore get confused - there is no code using exists() in order for it to 
> be buggy!

If there was a bug with 'isset' it is that it returns false for a
variable that IS SET to null. So using isset only returns true when
there is an actual value assigned to the variable. There is not an
array_key_isset(), but array_key_exists() which returns true for all
cases of the variable existing.

So I can call array_key_exists() followed by is_null() and be sure that
I will not get a warning from the is_null() call because the variable
has to exist, and the function is 'exists' rather than 'isset' for that
very reason.

Moving back to plain variables, we can check a variable isset(), if the
variable has been created and is null, then we don't have a problem, but
if the variable does not exist there is no way of testing for that state
prior to calling is_null() so we get a warning. THAT is the warning that
I'm talking about. Now if you have another way of identifying that the
variable 'exists' before calling is_null() then I apologise but I've not
found it yet :(

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

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

Reply via email to