Edit report at https://bugs.php.net/bug.php?id=40296&edit=1
ID: 40296
Comment by: joke at nakhon dot net
Reported by: mail at tobyinkster dot co dot uk
Summary: "unless" control structure
Status: Open
Type: Feature/Change Request
Package: Feature/Change Request
Operating System: All
PHP Version: 5.2.0
Block user comment: N
Private report: N
New Comment:
I vote against this request. Both perl and ruby's 'unless' confuse me so much.
It can be easy to abuse.
I often encounter someone wrote code like this:
unless a != 7
b = 3
else
b = 6
end
Previous Comments:
------------------------------------------------------------------------
[2011-08-04 20:59:24] achaia3 at gmail dot com
This would be a convenient feature for sure with no down sides for anybody not
wishing to use it.
------------------------------------------------------------------------
[2011-06-05 22:47:45] mattr dot smith at gmail dot com
I also request this feature.
Ruby has this structure too and really adds to the readability of code.
I don't see any argument at against this that is valid other than the fact that
PHP programmers don't want to change.
------------------------------------------------------------------------
[2007-12-31 23:19:51] michael at chunkycow dot com dot au
G'day
Perl has lots of 'features' in it, although I cannot see how an
'unless' control structure adds to anything but confusion for existing/new
developers.
------------------------------------------------------------------------
[2007-01-31 12:26:42] mail at tobyinkster dot co dot uk
Description:
------------
It would be nice if PHP had an "unless" control structure so that:
unless (...) { ... }
would be equivalent to:
if (!(...)) { ... }
Although the "unless" control structure is actually slightly more verbose (in
bytes) than "if", it is arguably a lot more readable in the following examples:
unless ($a==0 || $b==0)
divide_by($a*$b);
versus:
if (!($a==0 || $b==0))
divide_by($a*$b);
or, equivalently using De Morgan's Law (Google for it):
if ($a!=0 && $b!=0)
divide_by($a*$b);
The "unless" structure uses less punctuation, and more human syntax. I can't
imagine how this extra syntax would break any existing scripts.
For what it's worth, Perl already has an "unless" control structure.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=40296&edit=1