From: mail at tobyinkster dot co dot uk
Operating system: All
PHP version: 5.2.0
PHP Bug Type: Feature/Change Request
Bug description: "unless" control structure
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 bug report at http://bugs.php.net/?id=40296&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=40296&r=trysnapshot44
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=40296&r=trysnapshot52
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=40296&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=40296&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=40296&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=40296&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=40296&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=40296&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=40296&r=support
Expected behavior: http://bugs.php.net/fix.php?id=40296&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=40296&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=40296&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=40296&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40296&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=40296&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=40296&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=40296&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=40296&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=40296&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=40296&r=mysqlcfg