Hello all, First post here; been watching for a while though. IMHO: 1) Implicit isset() checks in ?: would be bad. This would not "silently improve not-so-well written code"; In fact it would make not-so-well written code more difficult to debug. I can't count the number of times I've run across components that are acting oddly because somebody wrote them to ignore the fact that they're not receiving some required parameter. At least with the current functionality of ?: we get a warning. If the collective decision were to implement this, could it at least have a setting to force it to function how it does currently?
2) A shorthand assignment operator would be handy. I like the suggestion of ??= where: $var ??= $default; is shorthand for if( !isset($var) ) $var = $default; Or, maybe similar to C# $var = $var ?? $default; (Correct me if I'm using this syntax incorrectly) This would provide a clean way to set defaults for unset vars but would make it easy to find blocks of code that are using unset vars with the ternary operator. -Matt On Fri, Apr 8, 2011 at 10:45 AM, Martin Scotta <martinsco...@gmail.com> wrote: > I just feels that !empty($arr['key']) or isset($arr['key']) do not express > the real meaning, instead I would choose to write array_key_exists('key', > $arr). It may be slower but it clearly express what I meant. > > Regarding the operators, I believe they will do more harm than good. > To check if a variable was already defined is a bad programing habit, these > operators will encourage that kind of things > > In the other hand, the isset check inside the condition ?: would silently > improve not-so-well written code, and could be a good feature for the lang. > > Martin Scotta -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php