Edit report at http://bugs.php.net/bug.php?id=40296&edit=1

 ID:                 40296
 Comment by:         mattr dot smith at gmail dot com
 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 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.


Previous Comments:
------------------------------------------------------------------------
[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 http://bugs.php.net/bug.php?id=40296&edit=1

Reply via email to