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